使用webpack 4升级我的角度项目后,使用karma运行单元测试时出现以下错误
[at-loader]使用typescript中的typescript@2.7.2和" tsconfig.json" 来自demo-app-app \ src \ tsconfig.json。
[at-loader]检查是在一个单独的过程中开始的......
[at-loader]检查完成1509错误 [at-loader]:子进程无法处理请求:TypeError:不能 读取属性' externalModuleIndicator'未定义的 在Object.isExternalModule (demo-app \ node_modules \ typescript \ lib \ typescript.js:13733:20)at Object.getAllDependencies (demo-app \ node_modules \ typescript \ lib \ typescript.js:75788:46)at Object.getAllDependencies (demo-app \ node_modules \ typescript \ lib \ typescript.js:76133:80)at processEmit (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \检查\ runtime.ts:451:24) 在 演示应用内\ node_modules \真棒-打字稿装载机\ SRC \检查\ runtime.ts:602:6 在Object.send (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \检查\ runtime.ts:48:6) 在Checker.req (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \检查\ checker.ts:100:15) 在Checker.emitFile (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \检查\ checker.ts:105:15) 在变换 (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \ index.ts:132:26) 在transformationFunction (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \ index.ts:74:40) 在编译器 (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \ index.ts:85:21) 在Object.loader (演示应用内\ node_modules \真棒-打字稿装载机\ SRC \ index.ts:16:12) 在LOADER_EXECUTION (demo-app \ node_modules \ loader-runner \ lib \ LoaderRunner.js:119:14)at at runSyncOrAsync (demo-app \ node_modules \ loader-runner \ lib \ LoaderRunner.js:120:4)at at iterateNormalLoaders (demo-app \ node_modules \ loader-runner \ lib \ LoaderRunner.js:229:2)at at iterateNormalLoaders (演示应用内\ node_modules \装载机浇道\ lib中\ LoaderRunner.js:218:10) < ---最后几个GC --->
136168 ms:Mark-sweep 1255.3(1435.8) - > 1242.3(1435.8)MB,893.2 / 0.0 ms [分配失败] [请求旧空间中的GC]。 137084 ms:Mark-sweep 1242.3(1435.8) - > 1242.3(1435.8)MB,915.6 / 0.0 ms [分配失败] [请求旧空间的GC]。 138055 ms: 标记扫描1242.3(1435.8) - > 1248.2(1408.8)MB,970.0 / 0.0 ms [最后 度假gc]。 139026 ms:标记扫描1248.2(1408.8) - > 1254.0(1408.8) MB,971.0 / 0.0 ms [最后的手段gc]。
< --- JS stacktrace --->
==== JS堆栈跟踪======================================== =
致命错误:CALL_AND_RETRY_LAST分配失败 - JavaScript堆 内存不足
包装Json:
真棒-打字稿装载机:5.0.0-0 卡玛的WebPack:2.0.4 的WebPack:4.1.1
var webpack = require('webpack');
var helpers = require('./helpers');
module.exports = {
devtool: 'inline-source-map',
resolve: {
extensions: ['.ts', '.js']
},
mode: 'development',
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader', 'angular2-template-loader']
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
loader: 'null'
},
{
test: /\.css$/,
include: helpers.root('src', 'app'),
loader: 'raw'
},
{
enforce: 'post',
test: /\.(js|ts)$/,
loader: 'istanbul-instrumenter-loader',
include: helpers.root('src'),
exclude: [
/\.(e2e|spec)\.ts$/,
/node_modules/
]
}
]
},
plugins: [
new webpack.ContextReplacementPlugin(
/angular(\\|\/)core(\\|\/)@angular/,
helpers.root('./src'),
{}
)
]
};
请注意,我能够毫无问题地运行我的角度项目,只有UT配置会出错。
答案 0 :(得分:3)
使用“ npm update”命令更新。解决了我的上述错误问题。
答案 1 :(得分:1)
更新到typescript@2.8.1
可以解决'externalModuleIndicator'问题(但可能会破坏其他问题)
答案 2 :(得分:1)
我可以将awesome-typescript-loader
替换为ts-loader
这里有类似的讨论
答案 3 :(得分:0)
对于Yarn用户:在终端中运行yarn install
。