Babel 不预处理文件
Babel not preprocessing files
我在配置 karma.conf.js 文件时遇到问题,无法通过 Webstorm 使用 babel 和 Karma 在 ES6 上进行单元测试。
我在这里要做的是 运行 在 '/test/BaseElement.test.js'
上进行测试
启动测试时,我收到以下错误:
An error was thrown in afterAll
Uncaught SyntaxError: Unexpected token 'export'
SyntaxError: Unexpected token 'export'
这对我来说意味着预处理没有正确完成。
这是我的 package.json 的依赖关系:
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/preset-env": "^7.9.5",
"@webcomponents/webcomponentsjs": "^2.4.3",
"jasmine": "^3.5.0",
"jspm": "^2.0.0-beta.7",
"karma": "^5.0.1",
"karma-babel-preprocessor": "^8.0.1",
"karma-chrome-launcher": "^3.1.0",
"karma-jasmine": "^3.1.1",
"karma-spec-reporter": "0.0.32",
"mocha": "^7.1.1"
还有我的 Karma.config.js 文件:
module.exports = function(config) {
config.set({
basePath: "",
frameworks: ["jasmine"],
Preprocessors: {
//'./Control/**/*.js': ['babel'],
// './lib/**/*.js': ['babel'],
//'./Module/**/*.js': ['babel'],
'../lib/Element/BaseElement.js': ['babel'],
'../test/BaseElement.test.js ': ['babel']
},
babelPreprocessor: {
options: {
presets: ['@babel/preset-env']
}
},
plugins: [
'@babel/core',
'karma-jasmine',
'karma-chrome-launcher',
'karma-babel-preprocessor'
],
files: [
{pattern: '../lib/Element/BaseElement.js', watched: true, included: true, served: true},
{ pattern: "*.test.js", type: "module", included: true }
],
//reporters: ['jasmine'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ["Chrome"],
singleRun: true,
concurrency: Infinity
});
};
当我使用 --log-level 调试标志输出时,没有出现任何关于预处理的信息。
文件的位置如下:
在根目录中:package.json
在 root/test 中:BaseElement.test.js
和 karma.conf.js
在root/lib/Element BaseElement.js
如有任何帮助,我们将不胜感激。
谢谢。
我发现了问题。它是预处理器而不是预处理器。
我在配置 karma.conf.js 文件时遇到问题,无法通过 Webstorm 使用 babel 和 Karma 在 ES6 上进行单元测试。
我在这里要做的是 运行 在 '/test/BaseElement.test.js'
上进行测试
启动测试时,我收到以下错误:
An error was thrown in afterAll
Uncaught SyntaxError: Unexpected token 'export'
SyntaxError: Unexpected token 'export'
这对我来说意味着预处理没有正确完成。
这是我的 package.json 的依赖关系:
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/preset-env": "^7.9.5",
"@webcomponents/webcomponentsjs": "^2.4.3",
"jasmine": "^3.5.0",
"jspm": "^2.0.0-beta.7",
"karma": "^5.0.1",
"karma-babel-preprocessor": "^8.0.1",
"karma-chrome-launcher": "^3.1.0",
"karma-jasmine": "^3.1.1",
"karma-spec-reporter": "0.0.32",
"mocha": "^7.1.1"
还有我的 Karma.config.js 文件:
module.exports = function(config) {
config.set({
basePath: "",
frameworks: ["jasmine"],
Preprocessors: {
//'./Control/**/*.js': ['babel'],
// './lib/**/*.js': ['babel'],
//'./Module/**/*.js': ['babel'],
'../lib/Element/BaseElement.js': ['babel'],
'../test/BaseElement.test.js ': ['babel']
},
babelPreprocessor: {
options: {
presets: ['@babel/preset-env']
}
},
plugins: [
'@babel/core',
'karma-jasmine',
'karma-chrome-launcher',
'karma-babel-preprocessor'
],
files: [
{pattern: '../lib/Element/BaseElement.js', watched: true, included: true, served: true},
{ pattern: "*.test.js", type: "module", included: true }
],
//reporters: ['jasmine'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ["Chrome"],
singleRun: true,
concurrency: Infinity
});
};
当我使用 --log-level 调试标志输出时,没有出现任何关于预处理的信息。
文件的位置如下:
在根目录中:package.json
在 root/test 中:BaseElement.test.js
和 karma.conf.js
在root/lib/Element BaseElement.js
如有任何帮助,我们将不胜感激。 谢谢。
我发现了问题。它是预处理器而不是预处理器。