0

我花了一整天的时间试图为我的项目设置业力。我浏览了所有教程和 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 中导入

通过上述配置,我能够获得对应用程序的引用。

配置有什么改进吗?

4

0 回答 0