2015-09-30 37 views
2

时找不到模块的错误,我有以下karma.conf.js文件,我也有叫example.spec.js测试文件的生活里app/compontents/example/example.spec.js我试图导入我Example.js file使用卡玛的WebPack

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' 
] 
}); 
}; 

回答

4

如果你想使用这样的导入,你需要设置一个resolve.alias。演示:

resolve: { 
    alias: { 
     app: path.join(__dirname, 'app') 
    } 
}