代码拉取完成,页面将自动刷新
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path');
// const webpack = require('webpack');
// const TerserPlugin = require('terser-webpack-plugin');
const JavaScriptObfuscator = require('webpack-obfuscator');
module.exports = {
devtool: 'source-map',
entry: { main: ['./src/main.ts'] },
target: 'node',
node: {
__dirname: false,
__filename: false,
},
resolve: {
extensions: ['.ts', '.tsx', '.js'],
modules: ['node_modules', 'src'],
alias: {
src: path.resolve(__dirname, 'src'),
},
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
sourceMapFilename: '[file].map',
},
plugins: [
// TerserPlugin 用于混淆代码
// 可参考 https://webpack.js.org/plugins/terser-webpack-plugin/ 了解具体用法
// new TerserPlugin({
// terserOptions: {
// ecma: 2018,
// mangle: true,
// output: { comments: false },
// },
// extractComments: false,
// }),
// JavaScriptObfuscator 用于混淆代码,将代码变形以增加阅读难度
// 可参考 https://github.com/webpack-contrib/webpack-obfuscator#options-object-properties 了解具体用法
new JavaScriptObfuscator({
rotateUnicodeArray: true,
compact: true,
controlFlowFlattening: true,
deadCodeInjection: true,
target: 'node',
}),
],
module: {
rules: [
{
test: /\.ts?$/,
use: [
{
loader: 'ts-loader',
options: {
transpileOnly: true,
},
},
],
exclude: /node_modules/,
},
],
},
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。