首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 2 npm测试-无法加载"webpack“

Angular 2 npm测试-无法加载"webpack“
EN

Stack Overflow用户
提问于 2017-09-09 00:02:17
回答 3查看 1.7K关注 0票数 2

我在尝试运行npm test时看到错误

代码语言:javascript
复制
08 09 2017 16:50:50.240:ERROR [preprocess]: Can not load "webpack"!
  TypeError: Cannot read property 'plugin' of undefined
    at PathsPlugin.apply (/Users/m/Sites/budget-angular2/node_modules/@ngtools/webpack/src/paths-plugin.js:75:18)
    at Resolver.apply (/Users/m/Sites/budget-angular2/node_modules/tapable/lib/Tapable.js:375:16)
    at /Users/m/Sites/budget-angular2/node_modules/enhanced-resolve/lib/ResolverFactory.js:249:12
    at Array.forEach (native)
    at Object.exports.createResolver (/Users/m/Sites/budget-angular2/node_modules/enhanced-resolve/lib/ResolverFactory.js:248:10)
    at WebpackOptionsApply.process (/Users/m/Sites/budget-angular2/node_modules/webpack/lib/WebpackOptionsApply.js:282:46)
    at webpack (/Users/m/Sites/budget-angular2/node_modules/webpack/lib/webpack.js:36:48)
    at new Plugin (/Users/m/Sites/budget-angular2/node_modules/karma-webpack/lib/karma-webpack.js:63:18)
    at invoke (/Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:75:15)
    at Array.instantiate (/Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:59:20)
    at get (/Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:48:43)
    at /Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:71:14
    at Array.map (native)
    at Array.invoke (/Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:70:31)
    at Injector.get (/Users/m/Sites/budget-angular2/node_modules/di/lib/injector.js:48:43)
    at instantiatePreprocessor (/Users/m/Sites/budget-angular2/node_modules/karma/lib/preprocessor.js:55:20)
    at /Users/m/Sites/budget-angular2/node_modules/karma/lib/preprocessor.js:106:17
    at Array.forEach (native)
    at /Users/m/Sites/budget-angular2/node_modules/karma/lib/preprocessor.js:103:27
    at module.exports (/Users/m/Sites/budget-angular2/node_modules/karma/node_modules/isbinaryfile/index.js:28:12)
    at /Users/m/Sites/budget-angular2/node_modules/karma/lib/preprocessor.js:84:7
    at /Users/m/Sites/budget-angular2/node_modules/graceful-fs/graceful-fs.js:78:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:446:3)
08 09 2017 16:50:50.257:WARN [karma]: No captured browser, open http://localhost:9876/
08 09 2017 16:50:50.264:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/
08 09 2017 16:50:50.264:INFO [launcher]: Launching browser Chrome with unlimited concurrency
08 09 2017 16:50:50.265:ERROR [karma]: Found 1 load error

我的package.json文件中包含以下内容:

代码语言:javascript
复制
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"karma-webpack": "^2.0.4",

我看过一些帖子re karma-webpack版本,但推荐的版本似乎比我这里的老一些。我确实需要手动npm install karma-webpack --save-dev,因为它在快速入门中丢失了,但它现在应该是可用的,对吧?

EN

回答 3

Stack Overflow用户

发布于 2017-09-09 00:04:34

karma-webpack具有webpack的对等依赖项。我没有在您列出的package.json中看到webpack (除非这不是完整的列表)。您还需要安装webpack

npm install --save-dev webpack

票数 1
EN

Stack Overflow用户

发布于 2018-05-14 23:46:16

您需要升级到更新版本的angular CLI。您可以删除已使用ng new my-app创建的项目文件夹

卸载旧版的angular-cli

代码语言:javascript
复制
npm uninstall angular-cli -g

安装新的@angular-cli

代码语言:javascript
复制
npm install @angular/cli -g

重新启动新项目

代码语言:javascript
复制
ng new my-app

然后,运行测试

代码语言:javascript
复制
ng test
票数 1
EN

Stack Overflow用户

发布于 2018-07-13 17:26:05

我找到了这个解决方案

将这些添加到依赖项中的package.json

代码语言:javascript
复制
{

"karma-sourcemap-loader": "^0.3.7",

 "karma-webpack": "^2.0.3",

}

然后是npm i然后是-:npm run test

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46120486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档