我有以下karma.conf.js
文件,我也有一个名为的测试文件example.spec.js
,该文件位于app/compontents/example/example.spec.js
我尝试导入的文件中Example.js file
import Example from 'app/components/Example/Example.jsx';
describe('Example Component', function() {
});
但是,我碰到下面的错误Error: Cannot find module "app/components/Example/Example.jsx"
我已经尝试了许多不同的想法,比如./Example.jsx
,./Example
,components/Example/Example.jsx
但每次我得到同样的错误。
var webpack = require('webpack');
module.exports = function(config) {
config.set({
// milliseconds
browserNoActivityTimeout: 40000,
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['mocha', 'chai'],
// list of files / patterns to load in the browser
files: [
'app/tests/setup.js',
'app/**/*.spec.js'
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'app/tests/setup.js': ['webpack', 'sourcemap'],
'app/**/*.spec.js': ['webpack', 'sourcemap']
},
webpack: {
devtool: 'inline-source-map',
cache: false,
resolve: {
extensions: ['', '.js', '.jsx'],
modulesDirectories: ['node_modules', 'app'],
fallback: __dirname
},
module: {
preLoaders: [],
loaders: [
{ test: /\.(js|jsx)$/, loaders: ['babel-loader'], exclude: /node_modules/ },
],
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('test')
})
]
}
},
webpackMiddleware: {
progress: false,
stats: false,
debug: false,
noInfo: true,
silent: true
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['dots'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: false,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['PhantomJS'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: true,
plugins: [
'karma-mocha',
'karma-chai',
'karma-webpack',
'karma-sourcemap-loader',
'karma-phantomjs-launcher'
]
});
};
如果要使用这样的导入,则需要设置resolve.alias。演示:
resolve: {
alias: {
app: path.join(__dirname, 'app')
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句