首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用导入代替需求,或无法使用ts节点和tsdx构建依赖方。

无法使用导入代替需求,或无法使用ts节点和tsdx构建依赖方。
EN

Stack Overflow用户
提问于 2021-02-12 20:36:59
回答 2查看 943关注 0票数 2

我有下面的问题,并确切地知道为什么它被触发,但我还没有找到任何解决方案,所以可能社区可能会帮助我。

我使用tsdx启动ts repos,并使用ts-node快速调试(而不是每次构建代码)。

递归引理:

因此,每次我想通过yarn add modulename将模块添加到包中时,如果tsconfig.json文件中有compilerOptions选项:"module": "commonjs"具有以下值,tsdx build无法构建代码,并返回以下错误:

错误:不兼容的tsconfig选项。模块解析为“CommonJS”。这与汇总不兼容,请使用“ES2015”或“ESNext”

但是!

如果我将compilerOptionscommonjs更新为module: "ESNext"ts-node会给我一个错误,因为它仍然无法使用import {Method} from Module而不是const x = require(CommonJS) (根据本期这个问题,这是一个很老的bug )。

  • 打字本-v 4.1.5 (最新)
  • ts-节点:"^9.1.1“
  • 节点-v: 15+
代码语言:javascript
复制
  "compilerOptions": {
    "module": "commonjs", || "ESNext"
    "lib": ["dom", "esnext"],
    ...//other options

根据这一点,我使用的是ts节点回购中的WebStorm和README.md,据我所知,我可以用自定义的tsconfig更新Environment Variables。因此,在这种情况下,我需要两个tsconfig文件在回购,为ts-节点和生产。所以问题是:也许还有另一个TS_NODE_FLAG,特别是module编译器选项?所以我可以运行带有标志的ts节点,这会覆盖这个小参数吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-12 20:45:17

当前的折衷方案是有两个配置文件,它们完全相同:

  • tsconfig.json
  • tsconfig.dev.json

除了第二个有"module":"commonjs"

第二个选项(实际上不适合我)是从这个问题添加到WebStrom的环境变量TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}'中。

票数 2
EN

Stack Overflow用户

发布于 2022-07-23 09:05:54

另一种选择:

代码语言:javascript
复制
import typescript from 'rollup-plugin-typescript2';
export default {
    ...
    plugins: [
        typescript({
            // 覆盖 tsconfig.json 的配置项
            tsconfigOverride: {
                compilerOptions: {
                    module: "ESNext"
                },
                include: ['src/**/*'],
            },
        })  
    ]
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66178693

复制
相关文章

相似问题

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