使用laravel混合混淆代码

时间:2017-09-22 14:38:56

标签: vue.js uglifyjs laravel-mix

我有一个带有laravel和vuejs的网络应用程序。 我使用laravel-mix并在webpack.mix.js我有:

const { mix } = require('laravel-mix');
mix.sourceMaps();
mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

现在我会混淆代码,所以我的所有组件,我怎么能用laravel-mix做到这一点?

2 个答案:

答案 0 :(得分:4)

npm run dev不会丑化/缩小您的代码,但npm run production会。

如果您想使用uglify ......

laravel mix只是webpack的一个包装器。所以你可以在这里安装UglifyWepackPlugin https://webpack.js.org/plugins/uglifyjs-webpack-plugin/

之后,您可以编辑mix.webpackConfig以使用该插件,详见此处:https://laravel.com/docs/5.5/mix#custom-webpack-configuration

答案 1 :(得分:1)

安装https://github.com/javascript-obfuscator/javascript-obfuscatorhttps://github.com/javascript-obfuscator/webpack-obfuscator。 之后你需要在webpack配置中包含de插件,你可以在webpack.mix.js文件中添加下一个代码。

let mix = require('laravel-mix');
let JavaScriptObfuscator = require('webpack-obfuscator');

mix.webpackConfig({
    plugins: [
        new JavaScriptObfuscator ({
            rotateUnicodeArray: true
        }, ['excluded_bundle_name.js'])
    ],
});

mix.js('resources/assets/js/app.js', 'public/js');

之后,所有的js文件都将是obfuscater。