Karma - 模块未找到:错误:无法解析模块'scss'
问题描述:
我有一个模块,我想写一个测试。我使用webpack进行编译,因为我在ES6中编写它。Karma - 模块未找到:错误:无法解析模块'scss'
文件(app.js)开始是这样的:
import template from './app.html'; // pulls in the template for this component
import './app.scss'; // pulls in the styles for this component
但是当我运行测试,我得到app.scss没有找到
ERROR in ./src/app.js
Module not found: Error: Cannot resolve module 'scss' in /Users/.../src
@ ./src/app.js 11:0-21
13 05 2016 10:38:52.276:INFO [..browserinfo..]: Connected on socket /#KYFiNbOR-7lqgc9qAAAA with id 63011795
(browser) ERROR
Uncaught Error: Cannot find module "./app.scss"
at /Users/.../spec.bundle.js:34081 <- webpack:///src/app.js:4:0
Finished in 0.241 secs/0 s
测试开始的错误像这样:
import angular from 'angular';
import header from './app.js'; // error occurs here cause .scss file is not recognized
describe('my module',() => {
let $rootScope, makeController;
// testing stuff
});
我karma.conf.js文件包括这样的:
webpack: {
devtool: 'inline-source-map',
module: {
loaders: [
{ test: /\.js/, exclude: [/app\/lib/, /node_modules/], loader: 'babel' },
{ test: /\.html/, loader: 'raw' },
{ test: /\.scss/, loader: 'style!css!scss' },
{ test: /\.css$/, loader: 'style!css' }
]
}
}
如何获得karma/webpack正确读取scss文件并运行我的测试?
答
问题是一个错字:
scss
应该已经sass
webpack: {
module: {
loaders: [
...,
{ test: /\.scss/, loader: 'style!css!sass' },
...
]
}
}