我正在尝试 require
文件动态迭代 json 并使用 require
方法调用它们,不幸的是,由于某种未知原因,它无法读取模块。如果存在模块,为什么它无法要求该模块?
我创建了一个文件json
,其中我将列出 browserify 应该需要的要求路径
。
{
"vendor": {
"angular-translate" : "angular-translate",
"angular-sanitize" : "angular-sanitize.min",
"ui-boostrap" : "ui-bootstrap-tpls-0.11.2.min",
"dialogs" : "dialogs"
}
}
然后我创建了一个文件来迭代此 json
并尝试要求它的路径,如下所示:
package.js
var dependencies = require('./../dependencies');
module.exports = function(angular) {
angular.forEach(dependencies.vendor, function(value,key) {
var path = '../vendor/' + value;
require('./' + path);
});
}
在主文件app.js
上,我需要这样的package.js
:
var angularJs = require('angular');
require('./package.js')(angular);
在 browserifycation
之后,chrome 控制台给出以下错误:
Uncaught Error: Cannot find module './../vendor/angular-translate'
如何要求我的 json 文件中列出的那些文件?
最佳答案
Browserify 对您的代码进行静态分析。它无法遵循动态需求,因为它在运行时根本不参与。
关于javascript - 使用 browserify 和 Angular 动态要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26818835/