Uglify From NeoReader
@einsqing js是解释行语言呀,没有实际代码怎么执行。。。
可以用webpack 进行混淆,因为最近的一个项目用electron 写东西,boss想增加一点被破解的成本
source: var webpack = require(‘webpack’); var path = require(‘path’);
let config = { entry: { main: path.resolve(__dirname, ‘src/main.js’) }, output: { path: path.resolve(__dirname, “dist”), publicPath: ‘./dist/’, libraryTarget: ‘commonjs’, filename: ‘[name].js’ }, module: { loaders: [ { test: /.json$/, loader: ‘json’ }, {test: /.js?$/, loader: ‘babel’, exclude: /node_modules/}, { test: /.(png|jpe?g|gif|svg)(?.*)?$/, loader: ‘url?limit=1’ } ] }, vue: { loaders: {} }, babel: { presets: [‘es2015’], plugins: [‘transform-runtime’] }, plugins: [ new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, mangle: { except: [’$super’, ‘$’, ‘exports’, ‘require’] } }) ], watchOptions: { aggregateTimeout: 1000, poll: 2000 }, resolve: { alias: { reportConf: path.resolve(__dirname, ‘./src/config.js’) } }, externals: { “fs”: “fs”, “url”: “url”, “path”: “path”, “crypto”: “crypto”, “async”: “async”, “canvas”: “canvas”, “gm”: “gm”, “xlsx”: “xlsx”, “lodash”: “lodash”, “mkdirp”: “mkdirp”, “pdfkit”: “pdfkit”, “electron”: “electron”, “node-notifier”: “node-notifier”, “electron-json-storage”: “electron-json-storage” } };
if (process.env.NODE_ENV == ‘dev’) { config.resolve.alias.reportConf = path.resolve(__dirname, ‘./src/config.dev.js’); }
module.exports = config;
说明 : libraryTarget: ‘commonjs’, 打包方式 externals:{ … },排除引用到的node_module new webpack.optimize.UglifyJsPlugin 核心了
当然也可以用gulp ,grunt 等进行, 实现的效果就是,你的整个node_module 被压缩,混淆在一个min.js 里面了
后端都放在服务器上的加密它干啥?如果别人都能看到你服务器上的代码了,说明你的服务器已经被攻破了。。。
@einsqing 可以后端的 相信我,
libraryTarget: ‘commonjs’, 后台 打包方式
webpack 是一个 打包工具,和npm 一样,现在前后台都可以
有图有真相
@DavidCai1993 mark
@DavidCai1993 大神,有demo没?
来自酷炫的 CNodeMD
一般是用docker来部署,整个代码都在加密的镜像里
@klausgao 已测试,镜像可以导出,解压之后可以看到源码,请问如何加密?
virtual box或者其他虚拟机更靠谱
@bqxu 请问使用webpack -p命令执行完后文件为什么大了很多? 自豪地采用 CNodeJS ionic
好像不行。。。