我创建了一个带有webpack的裸项目,只有一个加载器ts-loader。由于以下错误,Webpack失败:
ERROR in ./app.ts
Module build failed: TypeError: Cannot call method 'charCodeAt' of undefined
at getRootLength (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/node_modules/typescript/bin/typescript.js:997:18)
at Object.isRootedDiskPath (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/node_modules/typescript/bin/typescript.js:1051:16)
at rootReferencePath (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:72:23)
at /home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:87:93
at Array.map (native)
at ensureDependencies (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:87:35)
at Object.loader (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:103:5)
在vanilla Javascript文件上测试时,Webpack按预期运行。 使用Typescript文件和ts-loader时会出现错误,其中错误的来源是(正如您在堆栈中看到的那样)。
一旦删除以下行,问题就解决了:
///<reference path="testi.d.ts" />
(文件内容不会影响错误 - 我已经检查过。)
以下是示例项目的链接,从src_ts文件夹运行webpack
:
https://github.com/ravitb/dummyWebpack
我在这里想念的是什么?!
答案 0 :(得分:2)
这是一个问题,其中ts-loader引入了TypeScript 1.5,它具有重大变化,而不是坚持使用TypeScript 1.4。我推出了一个应该处理这个问题的新版本(0.3.4)。对不起,问题就在这了。