Typescript 编译代码不适用于混淆器
Typescript compiled code doesn't work with Obfuscators
我有一个用 Typescript 编写的节点项目。我正在尝试通过 Gulp 使用混淆器。但是好像不行:
这是我的 gulp 文件:
const { series, src, dest, task } = require('gulp');
const uglify = require('gulp-uglify');
const javascriptObfuscator = require('gulp-javascript-obfuscator-fixed');
function CopyFile(){
return src(['debug/*.js','debug/*.json'])
.pipe(dest('dist'));
};
function Obfuscate(){
return src('dist/*.js')
.pipe(javascriptObfuscator())
.pipe(uglify());
};
task("Release", series(CopyFile, Obfuscate));
这是我的 tsconfig
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"sourceMap": true,
"outDir": "debug",
"resolveJsonModule": true
},
"exclude": [
"node_modules"
]
}
所以顺序是,typescript 编译,然后复制到 dist,然后混淆。这是我收到的错误:
GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: keyword «const»
这是什么意思?
这意味着 uglify 不会说 es6。试试这个:
与 https://www.npmjs.com/package/uglify-js 相同:
uglify-js
only supports JavaScript (ECMAScript 5).
- To minify ECMAScript 2015 or above, transpile using tools like Babel.
const
是一个 ES6 ("ES2015") language feature,因为您设置了 "target": "es6"
。您可以将 target
设置为 es5
,或使用不同的工具。
我有一个用 Typescript 编写的节点项目。我正在尝试通过 Gulp 使用混淆器。但是好像不行:
这是我的 gulp 文件:
const { series, src, dest, task } = require('gulp');
const uglify = require('gulp-uglify');
const javascriptObfuscator = require('gulp-javascript-obfuscator-fixed');
function CopyFile(){
return src(['debug/*.js','debug/*.json'])
.pipe(dest('dist'));
};
function Obfuscate(){
return src('dist/*.js')
.pipe(javascriptObfuscator())
.pipe(uglify());
};
task("Release", series(CopyFile, Obfuscate));
这是我的 tsconfig
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"sourceMap": true,
"outDir": "debug",
"resolveJsonModule": true
},
"exclude": [
"node_modules"
]
}
所以顺序是,typescript 编译,然后复制到 dist,然后混淆。这是我收到的错误:
GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: keyword «const»
这是什么意思?
这意味着 uglify 不会说 es6。试试这个:
与 https://www.npmjs.com/package/uglify-js 相同:
uglify-js
only supports JavaScript (ECMAScript 5).- To minify ECMAScript 2015 or above, transpile using tools like Babel.
const
是一个 ES6 ("ES2015") language feature,因为您设置了 "target": "es6"
。您可以将 target
设置为 es5
,或使用不同的工具。