zyd-server-build2
v1.0.22
Published
基于terser的js混淆build库,通过babel支持es6+
Readme
zyd-server-build2
Installation
$ npm install -s zyd-server-build2Quickstart
./babelrc
{
"presets": [
"@babel/preset-env"
],
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
]
]
}./jsconfig.json
{
"compilerOptions": {
"experimentalDecorators": true
}
}/package.json
{
"name": "myApp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "node build.js"
},
"author": "",
"license": "ISC"
}/build.js
const zsb = require("zyd-server-build2")
zsb()Options
/build.js
const zsb = require("zyd-server-build2")
zsb({
src: "..", // 源文件夹, . 代表当前目录, .. 代表上级目录
dst: "../build", // 目标文件夹, . 代表当前目录, .. 代表上级目录
noBuildFile: ["../server/config/index.js"], // 不需要混淆压缩的文件(完整路径),文件路径前需要包含src的内容,如实例,会被无改动打包到目标文件夹中
noBuildDir: ["../server/public/js"]. // 不需要混淆压缩的文件夹(完整路径),文件路径前需要包含src的内容,如实例,会被无改动打包到目标文件夹中
ignoreDir: [ // 需要忽略的文件夹(完整路径),文件夹路径前需要包含src的内容,如实例,忽略后不会被打包到目标文件夹中
"../.git",
"../server/node_modules",
],
ignoreFile: ["../.gitmodules"], // 需要忽略的文件(完整路径),文件路径前需要包含src的内容,如实例,忽略后不会被打包到目标文件夹中
noDeleteDir: [".git", "node_modules"], // 需要忽略删除的文件或文件夹,默认:[".git", "node_modules"]
copyright: "Powered by zydsoft™", // 版权申明
options: { // 压缩选项
drop_console: true, // 删除console
dead_code: true, // 移除没被引用的代码
drop_debugger: true, // 移除 debugger;
hoist_funs: true, // 提升函数声明
join_vars: true, // 合并连续 var 声明
booleans: true, // 优化布尔运算,例如 !!a? b : c → a ? b : c
loops: true, // 当do、while 、 for循环的判断条件可以确定是,对其进行优化。
hoist_vars: true, // (默认 false) -- 提升 var 声明 (默认是false,因为那会加大文件的size)
properties: false, // (默认 false) — 传一个对象来自定义指明混淆对象属性的选项。
unsafe_math: true, // (默认 false) -- 优化数字表达式,例如2 * x * 3 变成 6 * x, 可能会导致不精确的浮点数结果。
unused: true, // 干掉没有被引用的函数和变量。(除非设置"keep_assign",否则变量的简单直接赋值也不算被引用。)
pure_getters: true, // 默认是 false. 如果你传入true,会假设对象属性的引用(例如foo.bar 或 foo["bar"])没有函数副作用。
passes: 10, // 默认 1。运行压缩的次数。在某些情况下,用一个大于1的数字参数可以进一步压缩代码大小。注意:数字越大压缩耗时越长。
global_defs: {
DEBUG: false
},
},
encryptionPath: 0, // 混淆加密路径,默认为0,0代表不加密,1代表加密路径
afterBuild: () => {} // 编译后运行的函数
})