我花了一整天的时间试图为我的项目设置业力。我浏览了所有教程和 StackOverflow,但无法将其集成到我的项目中。
我的项目是使用 web pack 提供的。我想问题是我无法获得对我的根应用程序模块的引用。
请帮我解决一下这个。
我尝试使用其名称导入模块,导入整个文件(js)等,但没有任何帮助。
PS:这个项目有大量的服务、组件、指令等。我们使用了 js 和jade。这是我们第一次为新功能集成单元测试。
已编辑
karma.config.js
var webpackConfig = require('./webpack.config.js');
webpackConfig.entry = void 0;
const commonsChunkPluginIndex = webpackConfig.plugins.findIndex(plugin => plugin.chunkNames);
webpackConfig.plugins.splice(commonsChunkPluginIndex, 1);
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
reporters: ['progress'],
port: 9876,
colors: false,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
autoWatchBatchDelay: 300,
files: [
'./node_modules/angular/angular.js',
'./node_modules/angular-mocks/angular-mocks.js',
"./client/app/app.js", ,=== root module
"./client/app/services/chart-type/cohortSpec.js", <== contains test case
],
preprocessors: {
"./webpack.config.js": ['babel'],
'./client/app/app.js': ['webpack'],
"./client/app/services/chart-type/cohortSpec.js": ['babel']
},
babelPreprocessor: {
options: {
"presets": ["es2015"],
"plugins": ["transform-es2015-modules-umd", "transform-runtime"]
}
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true,
stats: 'errors-only',
}
});
}
即使我在应用程序中导入了所有 js 文件,我也无法获得对应用程序模块的引用。请注意,webpack 在 dist/ 处提供文件,该文件未在 karma.config 中导入
通过上述配置,我能够获得对应用程序的引用。
配置有什么改进吗?