Angular 找不到名称“Map”、“Set”、“Symbol”、“WeakMap”、“WeakSet”
这是一个新的Angular 6项目。 所有依赖项都是最新的 错误输出 主要依赖性 @角度/*6.0.3 @类型/节点10.1.2 @类型/核心js 0.9.46 打字稿2.8.3 网页4.9.1 tsconfig.json 死胡同 将目标更改为es5、es2015、es6、es2016 从tsconfig typeroot、types、include、exclude中删除 将./node_模块从tsconfig typeroot更改为node_模块并排除 删除节点模块文件夹和npm缓存,然后使用安装重新安装所有依赖项 我知道这是一个经常被问到的问题,但我没有找到任何解决问题的办法Angular 找不到名称“Map”、“Set”、“Symbol”、“WeakMap”、“WeakSet”,angular,typescript,webpack,typescript-typings,Angular,Typescript,Webpack,Typescript Typings,这是一个新的Angular 6项目。 所有依赖项都是最新的 错误输出 主要依赖性 @角度/*6.0.3 @类型/节点10.1.2 @类型/核心js 0.9.46 打字稿2.8.3 网页4.9.1 tsconfig.json 死胡同 将目标更改为es5、es2015、es6、es2016 从tsconfig typeroot、types、include、exclude中删除 将./node_模块从tsconfig typeroot更改为node_模块并排除 删除节点模块文件夹和npm缓存,然后使用
谢谢你的帮助 ES6类型可以由polyfill core js提供,也可以由TypeScript本身提供,这就是lib编译器选项所负责的。由于相关库是在lib es6中提供的,所以预计es6功能可以通过TypeScript识别 网页包配置将错误路径设置为tsconfig.json:
{
test : /\.ts$/,
loaders: [
// Parse TypeScript to JavaScript
{
loader : 'awesome-typescript-loader',
options: {
configFileName: helpers.root('src', 'tsconfig.json')
}
},
// Add require(...) as prefix for templateUrl and styleUrls in Angular components
// This way allow the loader to inject external files as inline data
'angular2-template-loader'
]
},
所以类型脚本配置没有被选中
应该是:
helpers.root('.', 'tsconfig.json')
ES6类型可以由polyfill core js提供,也可以由TypeScript本身提供,这就是lib编译器选项所负责的。由于相关库是在lib es6中提供的,所以预计es6功能可以通过TypeScript识别 网页包配置将错误路径设置为tsconfig.json:
{
test : /\.ts$/,
loaders: [
// Parse TypeScript to JavaScript
{
loader : 'awesome-typescript-loader',
options: {
configFileName: helpers.root('src', 'tsconfig.json')
}
},
// Add require(...) as prefix for templateUrl and styleUrls in Angular components
// This way allow the loader to inject external files as inline data
'angular2-template-loader'
]
},
所以类型脚本配置没有被选中
应该是:
helpers.root('.', 'tsconfig.json')
首先,我要感谢@estus的回答。 尽管他指出了正确的问题,但这并不能解决问题 事实上,下面的更改并不能解决问题 helpers.root'.'和'tsconfig.json' 我一点也不认为问题可能是我的网页文件中的配置问题,但事实确实如此。 签出我为修复此问题所做的更改: 从helpers.js更改_根路径 从网页包配置更改helpers.root的每次调用
您也可以使用补丁签出标签或签出。首先,我要感谢@estus的回答。 尽管他指出了正确的问题,但这并不能解决问题 事实上,下面的更改并不能解决问题 helpers.root'.'和'tsconfig.json' 我一点也不认为问题可能是我的网页文件中的配置问题,但事实确实如此。 签出我为修复此问题所做的更改: 从helpers.js更改_根路径 从网页包配置更改helpers.root的每次调用
您还可以使用修复程序签出标记或签出。此行为特定于已指定的lib选项,因此它应该按预期工作,并且不清楚问题出在哪里。考虑提供一种复制问题的方法——STACKBLITZ、RPO等等。Master branch,标记0.1.0。使用Thread Install安装依赖项,然后运行npm run build进行复制。此行为特定于已指定的lib选项,因此它应按预期工作,并且不清楚问题是什么。考虑提供一种复制问题的方法——STACKBLITZ、RPO等等。Master branch,标记0.1.0。使用Thread安装安装依赖项,然后运行npm运行构建进行复制。谢谢@estus,你太棒了。你指出错误是对的,但你的回答并不能解决我的问题。我找到了解决方案,并对我自己的答案进行了评论,以便更明确地说明我是如何修复它的。祝你过得愉快。在发布之前,我已经检查过它是否有效。我不确定这为什么对您不起作用,可能是因为这与当前工作目录有关,或者其他原因,我没有检查helpers.root如何工作。无论如何,不加载tsconfig是一个常见的问题,希望这个问题能帮助其他人。谢谢@estus,你太棒了。你指出错误是对的,但你的回答并不能解决我的问题。我找到了解决方案,并对我自己的答案进行了评论,以便更明确地说明我是如何修复它的。祝你过得愉快。在发布之前,我已经检查过它是否有效。我不确定这为什么对您不起作用,可能是因为这与当前工作目录有关,或者其他原因,我没有检查helpers.root如何工作。无论如何,不加载tsconfig是一个常见的问题,希望这个问题能帮助其他人。
// Removed the second argument .. from the resolve
const _root = path.resolve(__dirname);
// Instead of helpers.root('./src')
helpers.root('src')
// Instead of helpers.root('src', 'tsconfig.json')
// Which was clearly wrong in all cases because it is not in src folder
helpers.root('tsconfig.json')