首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grunt-requirejs编译时出现“无此类文件”错误

使用grunt-requirejs编译时出现“无此类文件”错误
EN

Stack Overflow用户
提问于 2013-11-21 20:57:33
回答 1查看 1.2K关注 0票数 1

由于与require.js构建有关的大多数问题都与文件结构和相对路径引用有关,因此我在这里创建了一个repo :用于更容易地排除故障的https://github.com/ttback/requirejs-example

错误是当我运行咕噜时,我会得到no such file or directory requirejs-example/src/js/bundle/js/bundle/utils.js

这是由于错误的baseUrl。我希望它是src/,但是我不能设置它,因为它会根据我的Gruntfile找到src/js/bundle/main.js的依赖项。基地在src/js/bundle。当前的main.js与index.html一起工作,如果我将utils.js的相对路径从.js/bundle/utils.js更改为main.js中的./utils.js,应用程序就会中断。

有什么办法能让我的要求发挥作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-22 11:38:37

首先,添加一个不错的代码示例的要点。

这个问题实际上很容易解决。

只需改变:

代码语言:javascript
复制
var utilsObject = require('./js/bundle/utils.js');

至:

代码语言:javascript
复制
var utilsObject = require('./utils');

现在,构建工具和应用程序将工作。

通过添加.js后缀,您绕过了RequireJS应用于模块路径的baseUrl规则。从医生那里:

默认情况下,RequireJS还假定所有依赖项都是脚本,因此它不会在模块ID上看到尾随的".js“后缀。 有时,您可能确实希望直接引用脚本,并且不遵循"baseUrl + paths“规则来查找脚本。如果模块ID具有以下特征之一,则该ID将不会通过"baseUrl +path“配置传递,而只是被视为与文档相关的常规URL:

  • 以".js“结尾。
  • 以"/“开头。
  • 包含URL协议,如"http:“或"https:”。

http://requirejs.org/docs/api.html#jsfiles

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20131718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档