将Webpack配置应用到Mocha所需文件

时间:2018-06-21 23:55:25

标签: node.js webpack vue.js mocha babeljs

我使用vue create创建了一个带有单元测试的新项目。我需要在测试之前运行js文件,以便它注册某些vue组件,这些组件是我正在进行单元测试的vue组件的子代。我是通过在package.json

中设置这样的脚本来实现的
"test-unit": "vue-cli-service test:unit src/**/*.spec.js --require tests/unit/setup --watch",

这里是tests/unit/setup.js

require('babel-core/register')({
  ignore: /node_modules/
});
require("../../src");

const chai = require("chai"); 
const sinon = require("sinon");
const vueTestUtils = require("@vue/test-utils");

global.expect = chai.expect;
global.mount = vueTestUtils.mount;
global.shallowMount = vueTestUtils.shallowMount;
global.sinon = sinon;

注册组件的文件是您在此处看到的必需src / index.js文件。

src / index.js是:

import './my-theme/index.scss';
import ElementUI from 'element-ui';
import locale from 'element-ui/src/locale';
...

运行此脚本时出现此错误:

/path/to/node_modules/babel-core/lib/transformation/file/index.js:558
      throw err;
      ^

SyntaxError: /path/to/src/aiq-theme/index.scss: Unexpected token (1:0)
> 1 | @charset "UTF-8";
    | ^
  2 | @import "my-variables";
  3 | @import "my-icons";
  4 | @import "alert";

即使我要注释掉import './aiq-theme/index.scss';,我仍然会收到意外令牌import的错误。

/path/to/node_modules/element-ui/src/locale/index.js:1
(function (exports, require, module, __filename, __dirname) { import defaultLang from 'element-ui/src/locale/lang/zh-CN';
                                                              ^^^^^^

SyntaxError: Unexpected token import

我认为最简单的解决方案将能够将Webpack配置应用于此src/index.js,但是最好的解决方法是什么?我的webpack配置在开发环境中可以使用该文件。

0 个答案:

没有答案