nodejs如何加密源代码?
发布于 8 年前 作者 einsqing 11920 次浏览 来自 问答

请教各位大神,nodejs如何加密源代码?

来自酷炫的 CNodeMD

22 回复

@nihgwu 混淆了等于没混淆,有没有更高端的?

来自酷炫的 CNodeMD

@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 里面了

@bqxu 你这是前端吧,我想要后端混淆

来自酷炫的 CNodeMD

后端都放在服务器上的加密它干啥?如果别人都能看到你服务器上的代码了,说明你的服务器已经被攻破了。。。

@imhered 售卖啊

来自酷炫的 CNodeMD

@einsqing 可以后端的 相信我,

libraryTarget: ‘commonjs’, 后台 打包方式

webpack 是一个 打包工具,和npm 一样,现在前后台都可以

有图有真相

@bqxu 这么6,koa开发的,不知道能不能使用webpack

来自酷炫的 CNodeMD

@DavidCai1993 大神,有demo没?

来自酷炫的 CNodeMD

一般是用docker来部署,整个代码都在加密的镜像里

@klausgao 今天研究下docker,请教了

From KoaHub.js

@klausgao 已测试,镜像可以导出,解压之后可以看到源码,请问如何加密? untitled1.png

virtual box或者其他虚拟机更靠谱

@bqxu 请问使用webpack -p命令执行完后文件为什么大了很多? 自豪地采用 CNodeJS ionic

好像不行。。。

回到顶部