在尝试开始业力时,我无法弄清楚这个错误的原因:
bash-3.2$ NODE_ENV=test karma start
INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket FONtQ1oNxIxRecRxYgnS with id 73511945
PhantomJS 1.9.8 (Mac OS X) ERROR
ReferenceError: Can't find variable: require
at /public/components/angular-cookies/index.js:1
Run Code Online (Sandbox Code Playgroud)
index.js文件包含:
require('./angular-cookies');
module.exports = 'ngCookies';
Run Code Online (Sandbox Code Playgroud)
请帮忙!!
解决这个问题的一种方法是npm install karma-browserify --save-dev.这应该工作,你将不得不这样做,如果实际的文件,你需要使用需要.
index.js不是您需要的实际文件.angular-cookies.js是.
我发现使用browserify会使调试测试错误变得更加困难,因为从业力中获得的堆栈跟踪将引用临时.browserify包中的行号,这些包已经在测试完成时被删除.
一个简单的解决方案是指向files在karma.conf.js直接angular-cookies.js使用通配符代替.这样一来,index.js和它的使用要求不会造成不必要的问题.