相关疑难解决方法(0)

如何在使用 create-react-app 创建的 React 应用程序的生产版本中删除 console.log?

如何在使用 create-react-app CRA 创建的 React 应用程序的生产版本中删除 console.log?

build console.log reactjs create-react-app

15
推荐指数
4
解决办法
2万
查看次数

禁用特定Javascript文件的控制台访问

在我当前具有大量依赖项的项目中,我需要一种方法来禁用特定库的控制台访问,以便这些文件不能使用任何控制台功能.

我当然可以通过简单地在库包中找到并替换它来禁用控制台功能,但是因为这个项目有很多依赖性,这会使更新库变得非常麻烦.

我知道我可以通过用空功能块覆盖它来禁用控制台功能:

console.log = function(){};
Run Code Online (Sandbox Code Playgroud)

但是这会禁用整个项目的控制台功能.所以我正在寻找一个实现,或一行代码,我可以用它来禁用特定文件或代码块的控制台功能.

javascript

9
推荐指数
1
解决办法
114
查看次数

Webpack V4:使用Webpack和Uglify删除console.logs

这个答案就像以前的魅力一样:

/sf/answers/2872910631/

但是,由于Webpack v4它不再起作用.从那以后它抛出:

错误:webpack.optimize.UglifyJsPlugin已被删除,请改用config.optimization.minimize.

为了使它在Webpack v4中运行,有什么必要?

我没有运气就试过使用以下内容:

const uglifyJsPlugin = require('uglifyjs-webpack-plugin');

if (process.argv.indexOf('-p') !== -1) {
  // compress and remove console statements. Only add this plugin in production
  // as even if drop_console is set to false, other options may be set to true
  config.plugins.push(new uglifyJsPlugin({
    compress: {
      'drop_console': true
    }
  }));
}
Run Code Online (Sandbox Code Playgroud)

compression uglifyjs webpack

6
推荐指数
1
解决办法
5125
查看次数

无法在webpack bundle js文件中删除注释

我一直试图在webpack捆绑的js文件中删除注释.我已经尝试了几种方法,但它还没有工作,我得到的评论就像

"/**\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\ ...
Run Code Online (Sandbox Code Playgroud)

为此,捆绑的文件变得越来越大.目前巨大的1.6mb大小.我试过这个

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
        }
    })
Run Code Online (Sandbox Code Playgroud)

这也是

new webpack.optimize.UglifyJsPlugin({
        compress: { warnings: false },
        sourceMap: false,
        output: false
    })
Run Code Online (Sandbox Code Playgroud)

还将环境设置为生产环境

set NODE_ENV=production …
Run Code Online (Sandbox Code Playgroud)

javascript module reactjs webpack

5
推荐指数
2
解决办法
6580
查看次数

如何使用 JS Quasar 框架从构建中删除 console.log?

我正在尝试 Quasar 框架(对于那些不熟悉的人,它基于 Vue)并且进展顺利。但是我试过运行构建(npm run build)并重复:

错误意外的控制台语句 no-console

...所以构建失败,因为它看到console.log(...)并且不高兴。我的选择:

  1. 不要在开发中使用console.log。但它很方便。
  2. 注释掉可能强制执行的 eslint 规则,因此让console.log进入生产环境。但这对于性能/安全性来说并不理想。
  3. 让构建自动删除任何console.log。这就是我所追求的。

但是如何?

我查看了构建https://quasar.dev/quasar-cli/cli-documentation/build-commands,它提到在内部使用 webpack 和 UglifyJS。鉴于此,我在通用 Vue/webpack 项目中找到了删除 console.log 的答案:https : //github.com/vuejs-templates/webpack-simple/issues/21

...但如果是这样,由于没有 webpack 配置文件,Quasar 中的内容在哪里?我想象在 quasar.conf.js 文件中(因为我在那里看到了一个 'extendWebpack' 行 - 听起来很有希望)。或者有没有更好的方法来做到这一点?使用 Quasar 时,其他人如何在生产中删除console.log?或者在没有它的情况下处理日志?

谢谢!

webpack vue.js quasar-framework

2
推荐指数
1
解决办法
1888
查看次数