我有一个用Typescript编写的项目,我希望能够调试它(Chrome Dev ToolsIntellij).

起初,我发现Typescript的import功能不受支持.所以我试着用Webpackwebpack dev server,但完全失败了.即使我的应用程序正在工作(因为只有一个bundle.js文件包含所有代码),它也无法将代码与给定的源代码映射匹配,这使得调试变得不可能.

在我停止使用webpack后,我try 添加require.js作为依赖项,以解决我遇到的require is not defined个错误.这很管用,但现在我又被困住了,我明白了:

未捕获引用错误:未定义导出

我不知道这为什么不起作用.我想让我的应用程序工作(通过webpack或在编译后解析导入语句),并且仍然能够使用typescript生成的源代码图调试代码.我怎样才能做到这一点?

我正在附上我的配置文件,以防那里缺少什么:

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "sourceMap": true
  },
  "include": [
    "scripts/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}

网页包.配置.js:

module.exports = {
    resolve: {
        extensions: [/*'.ts', '.tsx', */'.js']
    },
    entry: './scripts/main.js',
    output: {
        path: '/',
        filename: 'app.js'
    },
    module: {
        rules: [
            { test: /\.js$/, loader: 'source-map-loader', enforce: 'pre' }
        ],
        loaders: [
            { test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/ },
            {test: /\.css$/, loader: "style!css"}
        ]
    },
    watch: true
};

推荐答案

要启用webpack调试,请在webpack.config.js中添加devtool: "source-map".

要使用require.js加载文件,请在tsconfig.json中更改"module": "amd".require.js不支持加载commonjs个模块.

Typescript相关问答推荐

如何从具有给定键列表的对象类型的联合中构造类型

TypScript手册中的never[]参数类型是什么意思?

类型断言添加到类型而不是替换

类型脚本接口索引签名

打印脚本丢失函数的泛型上下文

使某些(嵌套)属性成为可选属性

为什么我的条件类型不能像我预期的那样工作?

如何将泛型对象作为返回类型添加到类型脚本中

是否可以基于对象的S属性值[]约束对象的其他属性值用于类型化的对象数组?

如何从扩展接口推断泛型?

如何在方法中正确地传递来自TypeScrip对象的字段子集?

对象类型的TypeScrip隐式索引签名

在组件卸载时try 使用useEffect清除状态时发生冲突.react +打字

在打字脚本中对可迭代对象进行可变压缩

try 使Angular依赖注入工作

如何在try 运行独立的文字脚本Angular 项目时修复Visual Studio中的MODULE_NOT_FOUND

如何扩展RxJS?

Typescript泛型验证指定了keyof的所有键

覆盖高阶组件中的 prop 时的泛型推理

如何解决 Angular 中的 ts(18048) 错误