我可能对webpack的配置有问题,因为AngularJS DI中的require()方法不能正常工作。在我的应用程序中,使用了AngularJS、Webpack和ES6。
我正在尝试添加一个库angular-formly-templates-bootstrap。在GitHub的源代码中,我看到添加了以下依赖项:
const ngModule = angular.module(ngModuleName, [require('angular-formly')]);
在文件中使用Npm安装库之后,我可以看到:
var ngModule = angular.module(ngModuleName, [__webpack_require__(4)]);
不幸的是,触发这段代码会返回一个错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:modulerr] Failed to instantiate module formlyBootstrap due to:
Error: [$injector:modulerr] Failed to instantiate module {"version":{"full":"1.6.9","major":1,"minor":6,"dot":9,"codeName":"fiery-basilisk"},"callbacks":{}} due to:
Error: [ng:areq] Argument 'module' is not a function, got Object
我可以通过在库代码中输入依赖项名称来快速修复错误:
var ngModule = angular.module(ngModuleName, ['formly']);
在这一点上,一切都像它应该的那样工作。显然,这不是正确的解决方案。唯一的问题是为什么require()方法不能正确地注入依赖项?
发布于 2018-03-20 09:52:46
Require在browser.Basically中不起作用,require是一个node_module,我们可以通过它访问其他模块或files.So,如果您在浏览器端使用它,请尝试其他操作,如导入、self.import或注入。
将以下代码添加到您的项目:require.js
看看这个Require Api
https://stackoverflow.com/questions/49380721
复制