业力:'require' 未定义
Karma: 'require' is not defined
我的 angular 测试环境 运行 一直都很好,直到一周前当我尝试 运行 karma:
Chrome 53.0.2785 (Linux 0.0.0) ERROR
Uncaught ReferenceError: require is not defined
at node_modules/chai-as-promised/lib/chai-as-promised.js:2
这个错误首先发生在CI平台。当我清理并重新安装我的应用程序的所有依赖项时,它才开始在我的本地环境中发生,因此我可以得出结论,一些依赖项得到了更新,现在缺少了一些东西。
我发现类似的问题建议将额外的依赖项(例如 requirejs
和 browserify
添加到节点依赖项列表以及 karma 配置文件中,但它们没有帮助。
还有什么可能导致此错误?我将以下插件加载到业力中:
plugins: [
'karma-jasmine',
'karma-mocha',
'karma-chrome-launcher',
'karma-chai',
'karma-chai-as-promised',
'karma-jquery-chai',
'karma-mocha',
'karma-coverage',
'karma-ng-html2js-preprocessor',
'karma-ng-json2js-preprocessor',
'karma-sinon',
'karma-sinon-chai'
]
问题在于 chai-as-promised 6.0 dropped support for SystemJS,因此 karma-chai-as-promised 引入 chai-as-promised 的方式不再有效。
我最终删除了 karma-chai-as-promised 并手动将 chai-as-promised 连接到一个通用测试初始化文件中:chai.use(chai-as-promised)
.
我的 angular 测试环境 运行 一直都很好,直到一周前当我尝试 运行 karma:
Chrome 53.0.2785 (Linux 0.0.0) ERROR
Uncaught ReferenceError: require is not defined
at node_modules/chai-as-promised/lib/chai-as-promised.js:2
这个错误首先发生在CI平台。当我清理并重新安装我的应用程序的所有依赖项时,它才开始在我的本地环境中发生,因此我可以得出结论,一些依赖项得到了更新,现在缺少了一些东西。
我发现类似的问题建议将额外的依赖项(例如 requirejs
和 browserify
添加到节点依赖项列表以及 karma 配置文件中,但它们没有帮助。
还有什么可能导致此错误?我将以下插件加载到业力中:
plugins: [
'karma-jasmine',
'karma-mocha',
'karma-chrome-launcher',
'karma-chai',
'karma-chai-as-promised',
'karma-jquery-chai',
'karma-mocha',
'karma-coverage',
'karma-ng-html2js-preprocessor',
'karma-ng-json2js-preprocessor',
'karma-sinon',
'karma-sinon-chai'
]
问题在于 chai-as-promised 6.0 dropped support for SystemJS,因此 karma-chai-as-promised 引入 chai-as-promised 的方式不再有效。
我最终删除了 karma-chai-as-promised 并手动将 chai-as-promised 连接到一个通用测试初始化文件中:chai.use(chai-as-promised)
.