标签: uglifyjs

webpack 中的条件需求文件

我只想将文件捆绑到我的生产版本中,除非它不是用于DEBUG;

所以我使用webpack.DefinePlugin并设置了变量DEBUG === true

webpack.UglifyJsPlugin使用默认选项进行配置

在 js 文件中,我喜欢这样:

const A = DEBUG === true ? null : require('./some-debug.js');
//do things with A, for example
console.log(A)
Run Code Online (Sandbox Code Playgroud)

我检查了最终的包文件,A 被替换为 null(所以DefinePlugin工作正常),但some-debug.js文件的内容仍然在包 js 中。

是否可以让 webpack 不需要该文件?

ps:我想我可以resolve.alias用来解决'./some-debug.js' --> undefined. 但我想保持我的 webpack.config.js 通用,不想应用太多resolve.alias条目。

谢谢

javascript uglifyjs webpack webpack-2 tree-shaking

4
推荐指数
1
解决办法
2267
查看次数

如何使用 Webpack 为 Babel 包含节点模块

跑步时

npm run build
Run Code Online (Sandbox Code Playgroud)

我遇到了来自 uglify 的与 es6 相关的语法错误,所以我猜 babel 没有正确处理节点模块(秒到分钟)。

我的 .babelrc

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
  "comments": false,
  "env": {
    "test": {
      "plugins": [ "istanbul" ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的 Webpack 配置:

var path = require('path')
var config = require('../config')
var utils = require('./utils')
var projectRoot = path.resolve(__dirname, '../')

var env = process.env.NODE_ENV
// check env & config/index.js to decide whether to enable CSS source maps for the
// various preprocessor loaders added to vue-loader at the …
Run Code Online (Sandbox Code Playgroud)

npm uglifyjs ecmascript-6 webpack babeljs

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

webpack 4 uglifyjs 没有缩小和压缩

我正在使用 webpack 4,我不确定我的代码是否被压缩和缩小。我也在使用 React。

我的第一个问题是在 webpackplugin属性或optimization属性中使用 Webpack UglifyJS 插件。当我使用该plugin属性时,它似乎至少会压缩,但不会压缩到一行。我仍然不确定它是否正在缩小。当我使用optimization它时甚至不压缩。当我查看捆绑的 js 文件时,它似乎捆绑了node_modules诸如webpack.

//与 plugin

module.exports = {
    ...
    plugins: [new UglifyJsPlugin({
        test: /\.js$/,
        exclude: /node_modules/,
        sourceMap: true,
        uglifyOptions: {
            compress: {},
            mangle: true,
        }
}],
Run Code Online (Sandbox Code Playgroud)

//不适用于 optimization

module.exports = {
    ...
    optimization: {
        minimize: true,
        minimizer: [new UglifyJsPlugin({
            test: /\.js$/,
            exclude: /node_modules/,
            sourceMap: true,
            uglifyOptions: {
                compress: {},
                mangle: true,
             }
       }],
    }
Run Code Online (Sandbox Code Playgroud)

在第一个示例中,代码至少被压缩但没有被压缩成一行。

//例子

!*** ./node_modules/scheduler/index.js ***!
  \*****************************************/ …
Run Code Online (Sandbox Code Playgroud)

javascript uglifyjs reactjs webpack

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

在git pre-commit钩子中聚合和ugglifying javascript

我正在使用ready.js将JS文件聚合到一个all.js文件中(没有Google的Closure Compiler),然后使用uglify-js缩小和混淆代码.我想在预提交钩子中完成所有这些操作.

但是,我认为我做错了什么.

我的.git/hooks/pre-commit文件看起来像这样:

#!/bin/sh
readyjs ~/Sites/backbone/js/javascripts/ ~/Sites/backbone/js/ --nojslint -o "underscore.js, backbone.js" --nocompiler
uglifyjs -nm -o ~/Sites/backbone/js/all.min.js ~/Sites/backbone/js/all.js
# Commit
exit
Run Code Online (Sandbox Code Playgroud)

我不应该在这里使用简单的Bash吗?还有别的我做错了吗?这一步似乎完全被忽略了.

git continuous-integration githooks uglifyjs

3
推荐指数
1
解决办法
1175
查看次数

防止uglifyjs重命名某些功能

我有一个函数,其中包含一个构造函数.它创建一个新对象并返回它:

function car() {
   function Car() {}
   return new Car();
}
Run Code Online (Sandbox Code Playgroud)

因此,uglify将Car重命名为某个字母,当它返回时,它看起来像对象名称只是一些字母.例如,在chrome中,它会说对象的类型是"t".

有没有办法告诉uglify保留一些函数的名称?

javascript uglifyjs

3
推荐指数
2
解决办法
3560
查看次数

Uglify JS - 压缩未使用的变量

Uglify有一个"压缩"选项,可以删除未使用的变量......

但是,如果我将一些函数存储在像这样的对象中....

helpers = {
    doSomething: function () { ... },
    doSomethingElese: function () { ... }
}
Run Code Online (Sandbox Code Playgroud)

...有没有办法删除helpers.doSomething(),如果它从未被访问过?

猜猜我想给压缩机许可改变我的对象.

任何想法,如果可能的话?或任何其他可以帮助的工具?

javascript uglifyjs gruntjs uglifyjs2

3
推荐指数
1
解决办法
1731
查看次数

AngularJS:缩小我的指令

我使用指令要求用户在模态中进行操作确认.
它在开发过程中就像一个魅力,但在缩小之后,它就被打破了.
这是我得到的可怕的" $ injector:unpr "错误:

Error: [$injector:unpr] Unknown provider: aProvider <- a
...
Run Code Online (Sandbox Code Playgroud)

我认为问题是,$scope并且$modalInstance重命名,不应该,但我不知道如何避免这个...

这是指令代码:

'use strict';
app.directive('reallyClick', ['$modal', function($modal) {
  var modalInstanceCtrl = function ($scope, $modalInstance) {
    $scope.ok = function () {
      $modalInstance.close();
    };

    $scope.cancel = function () {
      $modalInstance.dismiss('cancel');
    };
  };

  return {
    restrict: 'A',
    scope: {
      reallyClick: '&',
      item: '='
    },
    link: function (scope, element, attrs) {
      element.bind( 'click', function() {
        var message = attrs.reallyMessage || 'Are you sure?';
        var modalHtml = …
Run Code Online (Sandbox Code Playgroud)

minify uglifyjs angularjs angularjs-directive

3
推荐指数
1
解决办法
1832
查看次数

uglifying后无法加载大型JavaScript文件ExpressJS

使用uglifyJS压缩和缩小我的所有脚本:

缩小所有文件

这个文件"app.min.js"的大小是982.1KB但是当我试图运行节点服务器并在浏览器中打开应用程序时它停在502kB

运行服务器

过了一会儿

在此输入图像描述

我不知道那里发生了什么,Javascript文件'502kB'有任何限制吗?我想念的是什么

javascript minify node.js uglifyjs

3
推荐指数
1
解决办法
182
查看次数

从uglifyjs源地图中恢复javascript源代码

我正在逆向工程一个神奇的脚本。我有一个ug lified源代码和uglifyjs生成的源映射

有人知道有什么直接的方法可以从中获得至少部分可读的源代码吗?我发现了一些晦涩的方法,包括通过多种语言进行转换,但我希望能有更好的方法。

谢谢!

javascript obfuscation deobfuscation uglifyjs source-maps

3
推荐指数
3
解决办法
2127
查看次数

react-native是否优化了JavaScript?

我阅读了编译器指南.他们有许多优化技术,如删除冗余代码或删除未使用的变量,没有使用任何方法.
但像js这样的脚本语言没有编译器,因此不需要进行优化.
我读了一篇关于js优化器的文章:

- Google Closure Compiler https://github.com/google/closure-compiler
- UglifyJS https://github.com/mishoo/UglifyJS
Run Code Online (Sandbox Code Playgroud)

真正的问题是反应原生,角度,使用代码优化等平台,还是我应该自己使用?

javascript optimization android uglifyjs react-native

3
推荐指数
1
解决办法
190
查看次数