Puerts 里加入 webpack

安装 webpack 和 glob

npm install webpack webpack-cli --save-dev
npm install glob --save-dev

webpack.config.js

const path = require('path');
const glob = require('glob');
const TerserPlugin = require("terser-webpack-plugin");

// 目标js
var allJsFiles = glob.sync('./Assets/Res/Scripts/**/*.js');
var logicJsFiles = [];
for (var i = 0; i < allJsFiles.length; i++) {
    if (allJsFiles[i].indexOf("/GameInit/") > -1) continue;
    logicJsFiles.push(allJsFiles[i]);
}

module.exports = {
    // mode: 'development',
    mode: 'production',
    // entry: glob.sync('./Assets/Res/Scripts/**/*.js'),
    entry: {
        GameInit: './Assets/Res/Scripts/GameInit/GameInit.js',  // 入口文件,会包含  ImportModule
        GameLogic: logicJsFiles, // 其他所有js文件
    },
    output: {
        path: path.resolve(__dirname, 'Assets/Res/JS'),
        filename: '[name]_bundle.js',
    },
    optimization: {
        minimize: true,
        minimizer: [new TerserPlugin({
            terserOptions: {
                keep_classnames: true,  // 保留类名
            },
        })],
    },
    externals: {
        csharp: "commonjs2 csharp",
        puerts: "commonjs2 puerts",
        path: "commonjs2 path",
        fs: "commonjs2 fs",

        // 定义一些 require 的外部文件
        "csharp.UnityEngine": "commonjs2 csharp.UnityEngine",
        "csharp.FairyGUI": "commonjs2 csharp.FairyGUI",
        "../JSLibs/sproto/sproto": "commonjs2 ../JSLibs/sproto/sproto",
        "../JSLibs/sproto/utils": "commonjs2 ../JSLibs/sproto/utils",
    },
};

执行,生成 ***_bundle.js

npx webpack
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容