【发布时间】:2016-04-14 23:12:35
【问题描述】:
我正在尝试让 webpack(babel)、karma、jasmine、angular 和 es6 一起工作。到目前为止,我要疯了。我经历了很多错误,花了一整天的时间在谷歌上搜索错误。现在这是我最近的错误。
我需要一些帮助才能完成它。下面遵循我的所有设置。我做错了什么?我误会了什么?
错误:
Chrome 47.0.2526 (Mac OS X 10.10.2) ERROR
Uncaught Error: Module name "path" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
karma.conf.js
var webpackConfig = require('./webpack.config.js');
webpackConfig.entry = {};
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'requirejs'],
reporters: ['progress'],
port: 9876,
colors: false,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
autoWatchBatchDelay: 300,
files: [
'./node_modules/karma-requirejs/lib/index.js',
'./node_modules/angular/angular.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./node_modules/angular-sanitize/angular-sanitize.js',
'./node_modules/jasmine-core/lib/jasmine-core.js',
'./node_modules/lodash/index.js',
'./node_modules/moment/moment.js',
'./src/**/*.js',
'./tests/**/*.js'
],
preprocessors: {
'./src/**/*.js': ['babel'],
'./tests/**/*.js': ['webpack']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
plugins : [
'karma-chrome-launcher',
'karma-jasmine',
'karma-requirejs',
'karma-webpack',
'karma-babel-preprocessor'
]
});
}
webpack.config.js
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
context: path.resolve('src'),
entry: './app.js',
output: {
path: path.resolve('dist'),
//publicPath: '/',
filename: 'bundle.js'
},
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.html'
})
],
module: {
loaders: [
{
test: /\.js?$/,
exclude: /node_modules/,
loader: 'babel'
},
// load html by require/import
{
test: /\.html$/,
exclude: /node_modules/,
loader: 'html'
},
{
test: /\.css$/,
exclude: /node_modules/,
loaders: ['style', 'css']
}
]
},
watch: true
}
package.json
{
"name": "",
"version": "1.0.0",
"description": "",
"scripts": {
"start": "http-server app",
"test": ""
},
"author": "",
"license": "ISC",
"dependencies": {
"angular": "^1.4.7",
"angular-sanitize": "^1.4.8",
"lodash": "^3.10.1",
"moment": "^2.10.6"
},
"devDependencies": {
"angular-mocks": "^1.4.8",
"babel-core": "^6.0.20",
"babel-loader": "^6.0.1",
"babel-preset-es2015": "^6.0.15",
"css-loader": "^0.23.1",
"expose-loader": "^0.7.1",
"html-loader": "^0.4.0",
"html-webpack-plugin": "^1.7.0",
"jasmine-core": "^2.4.1",
"karma": "^0.13.19",
"karma-babel-preprocessor": "^6.0.1",
"karma-chrome-launcher": "^0.2.2",
"karma-cli": "^0.1.2",
"karma-jasmine": "^0.3.6",
"karma-requirejs": "^0.2.3",
"karma-webpack": "^1.7.0",
"requirejs": "^2.1.22",
"style-loader": "^0.13.0",
"webpack": "^1.12.2"
},
"babel": {
"presets": [
"es2015"
]
}
}
【问题讨论】:
-
我已经安装了这个 karma-requirejs 但不确定我是否真的需要在 webpack 上下文中使用它。
标签: javascript angularjs jasmine karma-runner webpack