首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >npm运行构建:prod error clean-css

npm运行构建:prod error clean-css
EN

Stack Overflow用户
提问于 2018-02-26 22:26:32
回答 1查看 287关注 0票数 0

今天当我运行npm run build:prod时,我得到了一个奇怪的错误。

代码语言:javascript
复制
 "build:prod": "ng build --prod --aot=false --preserve-symlinks"

错误是这样的..

代码语言:javascript
复制
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 run build:prod

有人能帮我吗?

另外,在visual studio代码的“输出”选项卡上也有一些东西:

代码语言:javascript
复制
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.

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-03-05 04:09:59

将node_modules/clean-css/lib/reader/input-source-map-tracker.js中的代码替换为以下代码;)

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48990729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档