2017-01-30 6 views
2

Я пытался снять комментарии в файле js, связанным с webpack. Я попробовал несколько методов, но это не работает до сих пор, и я получаю комментарии какНевозможно опубликовать комментарии в пакете webpack js file

"/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\ ... 

Для этого в комплекте файл становится огромным. В настоящее время огромный размер 1,6 МБ. Я попытался это

new webpack.optimize.UglifyJsPlugin({ 
     sourceMap: false, 
     compress: { 
      sequences: true, 
      dead_code: true, 
      conditionals: true, 
      booleans: true, 
      unused: true, 
      if_return: true, 
      join_vars: true, 
      drop_console: true 
     }, 
     mangle: { 
      except: ['$super', '$', 'exports', 'require'] 
     }, 
     output: { 
      comments: false 
     } 
    }) 

также это

new webpack.optimize.UglifyJsPlugin({ 
     compress: { warnings: false }, 
     sourceMap: false, 
     output: false 
    }) 

также установить окружающая среда для производства

set NODE_ENV=production 

Я не могу понять, где я не прав. Пожалуйста, помогите. Спасибо заранее.

+1

Ответил здесь: http://stackoverflow.com/questions/35846011/webpack-use-uglifyjsplugin-to-only-remove-comments – prosti

+0

проверить это: http://stackoverflow.com/questions/41040266/remove-console -logs-with-webpack-uglify/41041580 # 41041580 –

ответ

1

Это то, что вам нужно:

new UglifyJsPlugin({ 
    comments: false, 
}), 

От here.


Ниже приведена строка из Webpack и @Everettss.

File: /webpack/lib/optimize/UglifyJsPlugin.js 
097:      let output = {}; 
098:      output.comments = Object.prototype.hasOwnProperty.call(options, "comments") ? options.comments : /^\**!|@preserve|@license/; 
099:      output.beautify = options.beautify; 
100:      for(let k in options.output) { 
101:       output[k] = options.output[k]; 
102:      } 

и вы можете проверить регулярное выражение, которое подтверждает, что Sokra stated.

enter image description here

Я не уверен UglifyJsPlugin, но, как правило, если вы privide юридического заявления где-то еще, вы должны устранить все замечания.

Если ваш адвокат подтверждает, что все в порядке, вы можете попытаться настроить /*!, чтобы регулярное выражение не получилось, и комментариев больше не будет.

+0

Я пробовал это, но это то же самое. –

4

UglifyJsPlugin не удалять @licence комментарии, даже если вы установили comments: false по юридическим причинам. Вы можете прочитать об этом on webpack GitHub issue.

Если вы хотите удалить подобные комментарии (на свой страх и риск), вы должны искать другие погрузчики, такие как webpack-comment-remover-loader или stripcomment-loader.

-1

Если вы хотите удалить @words, а также, и не может найти решение в Интернете, я хотел бы предложить вам для выполнения поиска и замены.
Напишите регулярное выражение, чтобы найти и заменить его пустым символом.