2014-11-08 37 views
1

我试图require文件动态迭代一个JSON和调用他们与require方法,不幸的是它不能读取模块出于某种未知的原因。为什么它不能要求模块存在?动态要求与browserify和角

我创建了一个文件json,我将列出我的要求paths browserify应该要求。

{ 
"vendor": { 
     "angular-translate" : "angular-translate", 
     "angular-sanitize" : "angular-sanitize.min", 
     "ui-boostrap" : "ui-bootstrap-tpls-0.11.2.min", 
     "dialogs" : "dialogs" 
    } 
} 

然后,我创建了这个迭代和json尝试要求它像这样的路径下的文件:主文件app.js

package.js

var dependencies = require('./../dependencies'); 

    module.exports = function(angular) { 

     angular.forEach(dependencies.vendor, function(value,key) { 

      var path = '../vendor/' + value; 

      require('./' + path); 
     }); 
    } 

的以这种方式要求package.js

var angularJs = require('angular'); 

require('./package.js')(angular); 

browserifycation铬控制台后给我下面的错误:

Uncaught Error: Cannot find module './../vendor/angular-translate'

怎么能要求我的JSON文件中列出的那些文件?

+0

不幸的是'browserify'不能用于动态路径。路径应该是硬编码的。 – undefined 2014-11-08 15:42:27

+0

哦,这是一个坏消息:(有没有解决这个问题? – Fabrizio 2014-11-08 16:23:08

回答

0

Browserify会对您的代码进行静态分析。它不能遵循动态需求,因为它在运行时完全不涉及。