我使用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配置在开发环境中可以使用该文件。