首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typescript动态导入与tsconfig.json中的webpack.config冲突?

问typescript动态导入与tsconfig.json中的webpack.config冲突?
EN

Stack Overflow用户
提问于 2020-04-10 11:40:11
回答 2查看 602关注 0票数 2
代码语言:javascript
复制
// tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom","esnext"],
    // "module": "commonjs",
    "module": "esNext",
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "moduleResolution": "node"
  }
}
代码语言:javascript
复制
//webpack.config.ts
import merge from 'webpack-merge'
import base from './webpack.base'
import webpack from 'webpack';
// ...

使用上面的配置,当我运行npm run build时,它抛出错误:

代码语言:javascript
复制
(function (exports, require, module, __filename, __dirname) { import merge from 'webpack-merge';
SyntaxError: Cannot use import statement outside a module`

我找到了解决方案,我应该使用"module": "commonjs",这是毫无疑问的,webpack运行在节点环境。

而动态导入webpack需要tsconfig.json中的"module": "esNext",如果我使用的是"module": "commonjs"配置,那么带webpackChunkName的webpack就不能工作。

我的动态导入代码和babel中的配置如下所示。

代码语言:javascript
复制
const starsDance = () => import(/* webpackChunkName: "starsDance" */'./game-stars-dance')

我通过很多google都找不到最终的解决方案,我该怎么办呢?非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2020-08-06 22:56:45

你很可能错过了ts-node。安装它,然后重试

代码语言:javascript
复制
npm install ts-node -D

包含更多信息的相关答案:https://stackoverflow.com/a/41137188/288906

票数 0
EN

Stack Overflow用户

发布于 2020-10-22 00:13:39

我通过在尝试运行导致问题的webpack --mode production命令之前安装ts-node修复了此问题。我相信ts-node是用来将webpack.config.ts文件转换成node可以理解的东西的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61133680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档