【发布时间】:2020-10-05 21:12:00
【问题描述】:
我知道有很多“不能在模块外使用 import 语句”线程,但我发现没有任何关于 jasmine 的线程。我有一个使用 Preact、Parcel 和 Openlayers 的客户端应用程序。我的大部分代码都位于 Map.js 模块中,我正在尝试设置 Jasmine 对其中的功能进行一些测试。
我已经安装了 jasmine(以及后来的 jasmine-es6)、babel-cli、babel-present-env、babel-preset-es2015,但是每当我运行 jasmin 命令时,导入依赖项的测试都会失败。我的规范文件能够导入我的 Map.js,但无法导入 Map.js 的依赖项,例如 导入 ...node_modules\ol\control\MousePosition。
我的 json.package 有 type:module.
我的 .babelrc 文件:
{
"presets": ["@babel/preset-env"]
}
jasmine.json:
"spec_dir": "/spec",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"../node_modules/@babel/register/lib/node.js"
],
"stopSpecOnExpectationFailure": false,
"random": true
}
示例规范:
import MapMod from "../src/Map"
describe('Testing map initialization', () => {
beforeEach(() => {
// I've tried require() here but get the same error
});
it('Should not throw errors', function () {
expect(MapMod.initMap).not.toThrow();
});
})
我被难住了。有人可以帮忙吗?
【问题讨论】:
标签: ecmascript-6 jasmine babeljs es6-modules preact