我有一个带有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做到这一点?
答案 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-obfuscator和https://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。