最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Node v13JestES6

网站源码admin17浏览0评论

Node v13 / Jest / ES6

Node v13 / Jest / ES6

是否可以在没有esmbabel的情况下用Jest测试ES6模块?由于node v13本身支持es6,因此尝试过:

//package.json
{
  …
  "type": "module"
  …
}



//__tests__/a.js
import Foo from '../src/Foo.js';


$ npx jest

Jest encountered an unexpected token
…
Details:

/home/node/xxx/__tests__/a.js:1
import Foo from '../src/Foo.js';
^^^^^^

SyntaxError: Cannot use import statement outside a module

添加babel的Transpiler后,它可以工作,但是es6模块也可以在本地使用吗?

回答如下:尚未记录,但是根据this issue,您必须执行3个简单的步骤来实现该目标(

编写此答案时>]:

请确保不要通过在Jest配置文件中设置import来转换transform: {}语句

    使用node@^12.16.0 || >=13.2.0标志运行--experimental-vm-modules
  • 使用jest-environment-nodejest-environment-jsdom-sixteen运行测试。
  • 所以您的笑话配置文件应至少包含以下内容:
  • export default { testEnvironment: 'jest-environment-node', transform: {} ... };

    并设置--experimental-vm-modules标志,您将必须从package.json运行Jest,如下所示(

    我希望将来会有所改变
    ):

    "scripts": { "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js" }

    我希望这个答案对您有所帮助。
  • 与本文相关的文章

    发布评论

    评论列表(0)

    1. 暂无评论