在 Windows,webpack 构建在 'emit' 阶段被阻止

On Windows, wepback build is blocked during 'emit' phase

我为 Typescript 库创建了一个简单的 webpack 项目:https://github.com/lbar/test-webpackts-issue

在 linux 上,npm run build 成功完成:

> rimraf dist && webpack --progress --profile
10% 0/1 build modulests-loader: Using typescript@1.8.10 and /tmp/testwebpack/tsconfig.json                                                                                                                                   8030ms1217ms optimi5ms emit
Hash: 8eac1502f3b7a9a19be2
Version: webpack 1.13.1
Time: 2596ms
Asset       Size  Chunks             Chunk Names
index.js  816 bytes       0  [emitted]  index
index.js.map    6.07 kB       0  [emitted]  index
/tmp/testwebpack/dist/index.d.ts   31 bytes          [emitted]
/tmp/testwebpack/dist/src/info.d.ts   49 bytes          [emitted]
+ 2 hidden modules

在 Windows 上,npm run build 在 'emit' 阶段被阻塞。输出是:

> rimraf dist && webpack --progress --profile

10% 0/1 build modulests-loader: Using typescript@1.8.10 and C:\tmp\testwebpack\tsconfig.jso
1836ms build modules
3ms seal
7ms optimize
3ms hashing
7ms create chunk assets
79ms additional chunk assets
19ms optimize chunk assets
837ms optimize assets
95% emit

node 的版本不同:Windows 上的 6.2.2 和 Linux 上的 4.4.5。我不知道这是否可能是原因。 有人知道这个问题吗? webpack、ts-loader 或 typescript 中的问题?

还有一件事,调用 tsc 在两个系统上都有效。

感谢您的帮助

此问题是由 ts-loader 中的问题引起的:https://github.com/TypeStrong/ts-loader/issues/185

拉取请求正在等待项目核心团队的修复。

Webpack 可以使用 "awesome-typescript-loader" 来避免这个问题。