javascript - 为什么我不能使用 browserify 在循环中 require(...)?

标签 javascript browserify

这行得通

require( './AppCtrl' );

但如果我这样做

[ './AppCtrl' ].forEach( function( name ) {
    require( name );
});

它会导致错误

_prelude.js:1 Uncaught Error: Cannot find module './AppCtrl's @  _prelude.js:1s @ _prelude.js:1(anonymous function) @ _prelude.js:1(anonymous function) @ index.js:48 @ index.js:3s @ _prelude.js:1(anonymous function) @ _prelude.js:11../config @ app.js:22s @ _prelude.js:1e @ _prelude.js:1(anonymous function) @ _prelude.js:1
 angular.js:12416 Error: [ng:areq] Argument 'AppCtrl' is not a function, got undefined
 http://errors.angularjs.org/1.4.5/ng/areq?p0=AppCtrl&p1=not%20a%20function%2C%20got%20undefined
at REGEX_STRING_REGEXP (angular.js:68)
at assertArg (angular.js:1795)
at assertArgFn (angular.js:1805)
at angular.js:9069
at setupControllers (angular.js:8133)
at nodeLinkFn (angular.js:8173)
at compositeLinkFn (angular.js:7637)
at publicLinkFn (angular.js:7512)
at angular.js:1660
at Scope.parent.$get.Scope.$eval (angular.js:15878)

为了我的最终目标,我希望能够做类似这个伪代码的事情

 foreach  name {
     angular.module(...).controller( require( name ) );
 }

但现在我不确定为什么我不能在循环中要求文件?

最佳答案

因为 Browserify(通过 Detective)基于静态分析构建依赖图,因此只会处理带有字符串文字参数的 require() 调用。

关于javascript - 为什么我不能使用 browserify 在循环中 require(...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32672642/

相关文章:

javascript - Javascript 中的嵌套有限制吗?插画家中的 ("Error 21: Undefined is not an object")

javascript - browserify 抛出错误 : Unexpected character '�' (1:0) while parsing file: image. png

javascript - 获取 persianDate 的选定日期

javascript - 基于 bootstrap datepicker 打开一个窗口

linux - NPM 无法全局安装 browserify

javascript - 浏览器内的Node JS fs模块

javascript - browserify 检测自定义 require()

javascript - 无法将 aws-sdk 与 browserify 捆绑在一起以在 k6 中使用 sdk 库

javascript - 当用户重新提交时,如果字段不在对象中,则删除红色边框

javascript - 如何使用 jquery 在 DOM 中查找特定的父对象