1

这里有许多类似的问题(...),但没有一个可以帮助我获得纯模板配置。配置管理应尽可能留给 Stencil IMO (...)

我的 Stencil 组件工作正常,我几乎尝试了所有方法,但是需要导入的 Jest 规范测试d3-geo一直在抛出我:

SyntaxError: Unexpected token 'export'

/app/node_modules/d3-geo/src/index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export {default as geoArea} from "./area.js";
                                                                                             ^^^^^^

我错过了什么?

我可能可以使用 Babel 来完成这项工作,但这似乎很老套。我无法想象我们实际上需要一个 Babel 预洗来获得 ES6 模块支持。

应用细节:

  • Node@14.16.0(来自 docker-image buildkite/puppeteer)
  • 模板@2.6.0
  • 开玩笑@26.6.3
  • 打字稿@4.4.2
  • 导致错误的模块:d3-geo @3.0.1

我在 package.json 中有开玩笑的配置:

...
  "type": "module",
  "jest": {
    "testEnvironment": "jest-environment-node",
    "transform": {}
  },
  "main": "dist/index.cjs.js",
  "module": "dist/index.js",
  "es2015": "dist/index.cjs.js",
  "es2020": "dist/index.js",
...
  "scripts": {
    ...
    "test": "stencil test --spec --e2e",
    ...
...

并且 tsconfig 包含:

...
    "moduleResolution": "node",
    "module": "esnext",
    "target": "es2020",
...
4

1 回答 1

0

Have you tried to add "esModuleInterop": true to your tsconfig.json? (link to TSConfig reference)

于 2021-07-09T12:38:40.000 回答