2014-11-08 52 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會對您的代碼進行靜態分析。它不能遵循動態需求,因爲它在運行時完全不涉及。