使用相对路径加载模块失败
fail to load module using relative path
在我的项目中,我有一个带有多个文件的js文件夹。js文件夹下的一个文件app.js依赖于该文件夹下的其他文件。
我在这里读到(define()中的相对模块名),如果你使用"local require",你可以使用相对路径加载模块。比如我输入:
js
|- app.js
|- util.js
|- logger.js
然后我可以做:
//in app.js
define(function(require){
var util = require("./util");
var logger = require("./logger");
...
});
但出于某种原因,这对我不起作用。我所看到的是模块直到&相对于我在require配置中定义的baseUrl被请求的。
这不是我期望发生的事情,我真的不明白为什么会这样,特别是因为我在我的项目中有其他模块可以正确地使用相对路径。
任何帮助都是感激的。
是否有可能,这发生在这里,因为我正在加载app.js从另一个模块使用全局要求?
在init.js中我有:
//in init.js
require(["config"], function (config) {
require(["app"], function (app) {
});
});
这会导致问题吗?
1。尽量避免CommonJS样式调用require
Go的AMD样式。
CommonJS风格:
var result = require(resource)
AMD风格:
require([resource], function(result){})
RequireJS does NOT同步加载CJS风格的资源。它通过检查函数体并向定义中注入需求来模拟它。您没有看到它,但是您在那里写的内容实际上运行为:
// app.js
define(['require', 'exports', 'module', './util', './logger'], function(require){
var util = require("./util"); // <- "sync" call is ok because it's pre-loaded
var logger = require("./logger"); // <- "sync" call is ok because it's pre-
});
你进入了巫术的领地。试着明确你需要的东西:
// app.js
define(['./util', './logger'], function(util, logger){
...
});
但如果你真的想玩"本地"要求,用AMD的方式,因为它肯定会踢所有模块ID解析规则:
// app.js
define(['require'], function(require){
require(
['./util', './logger']
, function(util, logger){
...
}
)
});
另外,这部分对我来说也没有意义:
require(["config"], function (config) {
require(["app"], function (app) {
});
});
我希望"app"
等于"js/app"
baseUrl
- 'js'
的值是多少?
app.js中的路径定义看起来是正确的,但是RequireJS解析"app"
的方式可能是一个问题。
相关文章:
- 导入模块失败's css文件
- AngularJS加载模块失败
- Angular--实例化模块失败
- 实例化模块失败错误:[$injector:unpr]
- 实例化app模块失败.处理步骤为什么
- 未捕获错误:[$injector:modulerr]实例化模块失败,原因是:
- Angularjs、Typescript、Uglify实例化myApp模块失败未知提供商:a
- 实例化myApp模块失败
- Angular js错误:[$injector:modulerr]实例化ngroute模块失败,原因是:
- 加载模块失败.处理步骤
- 意味着js应用在被推送后实例化AngularJS模块失败
- 在AngularJS中实例化模块失败
- 错误:[$injector:modulerr]实例化routerApp ui-router模块失败
- Angularjs: [$injector:modulerr]实例化ui-router模块失败
- AngularJS和cordova: web应用工作,但不能cordova:实例化模块失败
- Angular: 'modulerr', "实例化模块失败
- 使用相对路径加载模块失败
- 实例化ngAnimate模块失败,原因是:
- angular js $injector:modulerr用mangle实例化模块失败
- 用angular js几乎可以分页任何东西,实例化模块失败错误