# luban-pack **Repository Path**: ruifeng96150/luban-pack ## Basic Information - **Project Name**: luban-pack - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-11-30 - **Last Updated**: 2022-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### Prefix named Luban, salute the God of craftsman ![luban](data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNFMDBBQzg4RTlENDExRTlCM0Y0RjQxODY5OUNDMEEyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNFMDBBQzg3RTlENDExRTlCM0Y0RjQxODY5OUNDMEEyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNFMDBBQzgzRTlENDExRTlCM0Y0RjQxODY5OUNDMEEyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNFMDBBQzg0RTlENDExRTlCM0Y0RjQxODY5OUNDMEEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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) ## usage ##### react build tool, Support Typescript ```js yarn add luban-pack --save-dev npm i luban-pack --save-dev ``` - scripts ```js luban-pack dev luban-pack build // after you build, also you can startup service luban-pack server ``` - The default template is ./src/index.html - The default entry is ./src/index.(ts|js)x? #### You can customize your webpack configuration - luban.config.js example: ```js const HtmlWebpackPlugin = require('html-webpack-plugin') const webpack = require('webpack') const path = require('path') const platfromEnv = process.env.PLATFORM_ENV const {publicPath} = require(path.join(__dirname, './src/config')) const config = { pack: { plugins: [ new webpack.DefinePlugin({ 'process.env.PLATFORM_ENV': JSON.stringify(platfromEnv) }), new HtmlWebpackPlugin({ template: path.join(__dirname, './src/index.html'), chunksSortMode: 'dependency', platfromEnv }), ], }, server: { writeToDisk: platfromEnv === 'electron', port: 3000, routes: [ '/:key' ], proxy: [ { use: '/', proxyUrl: `https://${publicPath}`, filter: (req, res) => { return (req.url.indexOf('/rest') == 0 || req.url.indexOf('/conf') == 0) }, proxyReqPathResolver: (req, res) => { return req.url } } ] } } if (process.env.NODE_ENV == 'production') { config.drop_console = true; config.pack.optimization = { splitChunks: { cacheGroups: { antdrc: { chunks: 'initial', name: 'antdrc', test: /[\\/]node_modules[\\/](@ant-design.*|antd.*|rc-.*)[\\/]/, enforce: true, } } } } } module.exports = config ```