标签: minify

如何使用此preg_replace取消对JavaScript代码的注释?

我试图// comments用我的php preg_replace()在我的javascript中取消注释并创建一个preg_replace,它应该执行以下操作:

1.当评论从新行开始时,删除整行: // COMMENTS .....

2.当评论落后于脚本时,在1 TAB之后//删除该评论部分 exampleScript(); // (1space) comments

3.在http://中与//不匹配

这个pregreplace做了上述工作,但是,它目前删除了3行代码//.(请参阅下面的错误匹配标题)它应该跳过.

$buffer = preg_replace('/(?<!http:)\/\/\s*[^\r\n]*/', '', $buffer);
Run Code Online (Sandbox Code Playgroud)

很好的比赛

//something

// something *!&~@#^hjksdhaf

功能();// comment

假匹配

(/\/\.\//)
"//"  
"://"  
Run Code Online (Sandbox Code Playgroud)

那么,我如何过滤这三个错误匹配以及如何更改以下正则表达式?

(?<!http:)\/\/\s*[^\r\n]*
Run Code Online (Sandbox Code Playgroud)

PS,我不希望使用其他人的代码minifiers /框架与他们自己的开销.就我自己而言.

javascript php obfuscation preg-replace minify

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

JavaScript混淆和缩小

现代JavaScript混淆/缩小工具如何保护我的代码免受逆向工程的影响?另外,哪些混淆平台最适合防止这种情况?似乎很容易使程序反模糊化代码并使该过程变得毫无意义.

如果这不是完美的东西,是否有任何解决方案依赖于远程提供的代码?

javascript obfuscation terminology minify

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

了解缩小的JavaScript代码

我在一个让我困惑的缩小图书馆中遇到了这段JS代码:

...
return e.input || L(), e.addTest = function(a, b) {
...
Run Code Online (Sandbox Code Playgroud)

我在一个jsFiddle上玩它,没有太多运气了解发生了什么.

我想知道:

  1. 什么时候回来?总是很明显.
  2. 什么回来了?在我的测试中它返回undefined ...为什么?
  3. 代码L()何时执行?只有当e.input返回false时?
  4. 什么时候设置e.addTest?根据我的测试总是......为什么?

javascript minify

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

MVC 4 捆绑和缩小 - 变量名称更改

我正在 .net mvc 4 中编写一个应用程序。我开始使用 .net 捆绑,但在缩小时遇到了一些问题。由于变量的名称被缩短为一个字母,因此变量名称相同(来自不同的脚本)会产生一些冲突,从而产生各种烦人的错误和错误。这是一个已知的问题,还是我错过了什么?有没有办法允许在不更改变量名称的情况下缩小脚本(空格和 stuf)?谢谢!

javascript minify asp.net-mvc-4 bundling-and-minification

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

如何使用 grails 中的资产管道插件将 js 缩小到一个文件

目前我可以使用资产管道插件缩小 css/js。每个 js/css 文件都被单独缩小。

有没有办法缩小一个文件中的js和另一个文件中的css?

我目前在 config.groovy 中设置了这些

grails.assets.minifyJs = true
grails.assets.minifyCss = true
grails.assets.bundle=true
Run Code Online (Sandbox Code Playgroud)

grails minify

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

用于JSON缩小的UglifyJs JavaScript API?

所以我通过Node循环遍历目录中的文件,并希望用UglifyJs缩小它们.

对于JavaScript文件,API很容易实现:

var UglifyJS = require("uglify-js")

// Looping here
UglifyJS.minify(listOfAllFiles[i])
Run Code Online (Sandbox Code Playgroud)

但是,我需要缩小的文件是JSON文件,因此产生了一个eval错误.在命令行中,如果您正在缩小JSON,则只需传递--expr它,它将作为单个表达式进行求值.知道如何将其传递到JavaScript API的options对象中吗?

干杯.

javascript json minify node.js uglifyjs2

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

AngularJS 缩小的 js 文件不起作用

我将所有 js 文件缩小并合并为一个文件,并包含在 html 中,但站点中没有任何内容。

js里面文件太多了,不想一一包含,所以修改合并为一个。

有没有其他方法可以减少对 js 文件的 http 调用次数。

javascript php jquery minify angularjs

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

Webpack 没有缩小我的 bundle js

我现在将我的第一个项目与 webpack 捆绑在一起,除了 webpack 没有缩小我的bundle.min.js代码外,一切都按预期工作。

我很确定我做错了什么,但无法发现错误。

任何帮助,将不胜感激。提前致谢。

我带着我的 webpack.config.js

var webpack = require("webpack");
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');

module.exports = {
  context: __dirname + "/public",
  entry: './app.js',
  output: {
      path: __dirname + '/dist',
      filename: "bundle.min.js"
  },
  plugins: [
      new webpack.ProvidePlugin({
         $: "jquery",
         jQuery: "jquery"
     }),
     new webpack.LoaderOptionsPlugin({
      minimize: true,
      debug: true
    }),
     new webpack.optimize.UglifyJsPlugin({
       beautify: false,
        mangle: {
          screw_ie8: true,
          keep_fnames: true
        },
        compress: {
          screw_ie8: true
        },
        comments: false
    }),
     new ExtractTextPlugin("bundle.min.css"),
     new OptimizeCssAssetsPlugin() …
Run Code Online (Sandbox Code Playgroud)

javascript minify node.js uglifyjs webpack

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

当阅读缩小的 Javascript 时,我应该如何阅读带有逗号、&amp;&amp; 和 || 的返回语句 运营商?

我有这个源代码:

function findMessageErrors(btn) {
    var error = "";
    var message = $(btn).parent().siblings().find("textarea[name='message']").val();
    if (message === "") {
        error += "*Please enter a message.<br/>";
    }
    if (!$(btn).parent().siblings().find('input[name="agree"]').prop('checked')) {
        error += "*Please agree.<br/>";
    }
    return error;
}
Run Code Online (Sandbox Code Playgroud)

这会被缩小。缩小后,它在 Chrome 开发工具的 Sources 选项卡中看起来像这样:

function findMessageErrors(btn) {
    var error = "";
    return "" === $(btn).parent().siblings().find("textarea[name='message']").val() && (error += "*Please enter a message.<br/>"),
    $(btn).parent().siblings().find('input[name="agree"]').prop("checked") || (error += "*Please agree.<br/>"),
    error
}
Run Code Online (Sandbox Code Playgroud)

我理解逗号运算符如何“按顺序运行一系列表达式,然后返回最后一个表达式的结果” (来自此处)。但我很难理解这些 OR 和 AND 运算符如何构建在缩小代码中返回的字符串。

有谁有一种有用的方法来大声朗读它,以帮助我理解它是如何工作的?我想我没有看到源代码中的 2 个独立 IF 语句如何被缩小为一系列 && 然后 …

javascript minify

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

requireJS优化:"未捕获的TypeError:undefined不是函数"

我是第一次使用requireJS.我得到它工作正常然后来优化文件以缩小和连接现在我得到错误" 未捕获TypeError:undefined不是一个函数 "错误是在front-built.js的 8175行.我已经为这个问题留下了没文字的文件,以便更容易识别问题.

我在优化之前的主要JS文件看起来像这样(工作正常):http: //thebeer.co/js/front.js

优化后(在第8175行抛出错误):http: //thebeer.co/js/front-built.js

希望有人对requireJS比我更熟悉,并且可以解决这个问题.可能是我在优化之前包含我的JS文件的方式.我真的不确定.

javascript concatenation minify requirejs

0
推荐指数
1
解决办法
6002
查看次数