[英]Angular 5: ng build - -prod fails due to clean-css: Cannot read property 'line' of undefined
[英]npm run build:prod error clean-css
我今天在運行npm run build:prod時遇到一個奇怪的錯誤。
"build:prod": "ng build --prod --aot=false --preserve-symlinks"
錯誤就像..
92% chunk asset optimizationC:\Projects\Latest_Feb26\ASSURE.OdyssEYGen2\FrontEnd\OdyssEY-UI-Host\node_modules\clean-css
\lib\reader\input-source-map-tracker.js:37
if (originalPosition.line === null && line > 1 && selectorFallbacks > 0) {
^
TypeError: Cannot read property 'line' of undefined
at originalPositionFor (C:\Projects\Latest_Feb26\ASSURE.OdyssEYGen2\FrontEnd\OdyssEY-UI-Host\node_modules\clean-css\
lib\reader\input-source-map-tracker.js:37:23)
生成一直很好,並且不確定為什么我今天會收到這個奇怪的錯誤。
我確實刪除了node_modules,npm i和npm運行build:prod
誰能幫我 ?
在Visual Studio代碼的“輸出”選項卡上也有一些內容:
Failed to load the ESLint library for the document c:\Projects\Latest_Feb26\ASSURE.OdyssEYGen2\FrontEnd\OdyssEY-UI-Host\node_modules\clean-css\lib\reader\input-source-map-tracker.js
To use ESLint in this workspace please install eslint using 'npm install eslint' or globally using 'npm install -g eslint'.
You need to reopen the workspace after installing eslint.
謝謝
用以下內容替換node_modules / clean-css / lib / reader / input-source-map-tracker.js中的代碼;)
var SourceMapConsumer = require('source-map').SourceMapConsumer;
function inputSourceMapTracker() {
var maps = {};
return {
all: all.bind(null, maps),
isTracking: isTracking.bind(null, maps),
originalPositionFor: originalPositionFor.bind(null, maps),
track: track.bind(null, maps)
};
}
function all(maps) {
return maps;
}
function isTracking(maps, source) {
return source in maps;
}
function originalPositionFor(maps, metadata, range, selectorFallbacks) {
var line = metadata[0];
var column = metadata[1];
var source = metadata[2];
var position = {
line: line,
column: column + range
};
var originalPosition;
while (!originalPosition && position.column > column) {
position.column--;
originalPosition = maps[source].originalPositionFor(position);
}
if (originalPosition && originalPosition.line === null && line > 1 && selectorFallbacks > 0) {
return originalPositionFor(maps, [line - 1, column, source], range, selectorFallbacks - 1);
}
return (originalPosition && originalPosition.line) !== null ?
toMetadata(originalPosition) :
metadata;
}
function toMetadata(asHash) {
if(asHash){
return [asHash.line, asHash.column, asHash.source];
}
}
function track(maps, source, data) {
maps[source] = new SourceMapConsumer(data);
}
module.exports = inputSourceMapTracker;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.