Angular 8项目构建报错:需初始化SourceMapConsumer指定mappings.wasm路径
Angular 8 中 SourceMapConsumer 初始化错误的解决方法
方法一:锁定 source-map 兼容版本
这个错误大多是因为source-map包版本过高(0.7.x及以上)和Angular 8不兼容导致的,直接降级到稳定兼容版本即可:
- 打开项目根目录的
package.json,把source-map的版本改成0.6.1 - 执行命令重新安装依赖:
npm install source-map@0.6.1 --save-dev
方法二:手动初始化 SourceMapConsumer(保留高版本时用)
如果必须使用高版本source-map,可以在项目入口文件(比如main.ts)最顶部添加初始化代码:
import { SourceMapConsumer } from 'source-map'; SourceMapConsumer.initialize({ 'lib/mappings.wasm': 'node_modules/source-map/lib/mappings.wasm' });
另外生产构建时要确保mappings.wasm被正确打包,需要修改angular.json的assets配置:
"assets": [ "src/favicon.ico", "src/assets", { "glob": "mappings.wasm", "input": "./node_modules/source-map/lib/", "output": "./lib/" } ]
方法三:关闭SourceMap生成(不需要时用)
如果项目不需要SourceMap,直接在angular.json的生产配置里关闭它:
"configurations": { "production": { "sourceMap": false } }
这样从根源上避免触发这个错误。
内容的提问来源于stack exchange,提问作者Mohammed Osman
相关产品推荐
相关产品推荐

