|
@@ -1,336 +0,0 @@
|
|
-const projectName = require('./project');
|
|
|
|
-const path = require('path');
|
|
|
|
-
|
|
|
|
-const CompressionWebpackPlugin = require("compression-webpack-plugin")
|
|
|
|
-const productionGzipExtensions = ['js', 'css']
|
|
|
|
-
|
|
|
|
-function resolve(dir) {
|
|
|
|
- return path.join(__dirname, dir)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-let title = '';
|
|
|
|
-if (process.env.VUE_APP_NODE_NAME == 'production') {
|
|
|
|
- title = ''
|
|
|
|
-} else if (process.env.VUE_APP_NODE_NAME == 'test') {
|
|
|
|
- title = '(测试)'
|
|
|
|
-} else {
|
|
|
|
- title = '(开发)'
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-const Timestamp = new Date().getTime();
|
|
|
|
-const config = {
|
|
|
|
- //商业园区
|
|
|
|
- business: {
|
|
|
|
- pages: {
|
|
|
|
- index: {
|
|
|
|
- entry: 'src/projects/business/main.js',
|
|
|
|
- template: 'index/business/index.html',
|
|
|
|
- filename: 'index.html',
|
|
|
|
- title: '小鹏管家' + title,
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- outputDir: 'dist/business',
|
|
|
|
- devServer: {
|
|
|
|
- host: '0.0.0.0',
|
|
|
|
- port: 80,
|
|
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
- },
|
|
|
|
- chainWebpack: (config) => {
|
|
|
|
- config.entry.app = ['babel-polyfill', '../src/projects/business/main.js']
|
|
|
|
- config.resolve.alias
|
|
|
|
- .set('@', resolve('../src/projects/business/'))
|
|
|
|
- .set('$project', resolve('../src/'))
|
|
|
|
- .set('$root', resolve('../'))
|
|
|
|
-
|
|
|
|
- config.plugins.delete('preload-index');
|
|
|
|
- config.plugins.delete('prefetch-index');
|
|
|
|
-
|
|
|
|
- config.optimization.minimize(true);
|
|
|
|
-
|
|
|
|
- //打包分析添加
|
|
|
|
- //config.output.filename('js/[name].[hash].js').end();
|
|
|
|
- //config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
|
|
- },
|
|
|
|
- configureWebpack: config => {
|
|
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
-
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- //住宅小区
|
|
|
|
- residence: {
|
|
|
|
- pages: {
|
|
|
|
- index: {
|
|
|
|
- entry: 'src/projects/residence/main.js',
|
|
|
|
- template: 'index/residence/index.html',
|
|
|
|
- filename: 'index.html',
|
|
|
|
- title: '小鹏管家' + title,
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- outputDir: 'dist/residence',
|
|
|
|
- devServer: {
|
|
|
|
- host: '0.0.0.0',
|
|
|
|
- port: 8080,
|
|
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
- },
|
|
|
|
- chainWebpack: (config) => {
|
|
|
|
- config.entry.app = ['babel-polyfill', '../src/projects/residence/main.js']
|
|
|
|
- config.resolve.alias
|
|
|
|
- .set('@', resolve('../src/projects/residence/'))
|
|
|
|
- .set('$project', resolve('../src/'))
|
|
|
|
- .set('$root', resolve('../'))
|
|
|
|
-
|
|
|
|
- config.plugins.delete('preload-index');
|
|
|
|
- config.plugins.delete('prefetch-index');
|
|
|
|
-
|
|
|
|
- config.optimization.minimize(true);
|
|
|
|
-
|
|
|
|
- //打包分析添加
|
|
|
|
- //config.output.filename('js/[name].[hash].js').end();
|
|
|
|
- //config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
|
|
- },
|
|
|
|
- configureWebpack: (config) => {
|
|
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
-
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- //机构/居家养老
|
|
|
|
- pension: {
|
|
|
|
- pages: {
|
|
|
|
- index: {
|
|
|
|
- entry: 'src/projects/pension/main.js',
|
|
|
|
- template: 'index/pension/index.html',
|
|
|
|
- filename: 'index.html',
|
|
|
|
- title: '小鹏管家' + title,
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- outputDir: 'dist/pension',
|
|
|
|
- devServer: {
|
|
|
|
- host: '0.0.0.0',
|
|
|
|
- port: 8080,
|
|
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
- },
|
|
|
|
- chainWebpack: (config) => {
|
|
|
|
- config.entry.app = ['babel-polyfill', '../src/projects/pension/main.js']
|
|
|
|
- config.resolve.alias
|
|
|
|
- .set('@', resolve('../src/projects/pension/'))
|
|
|
|
- .set('$project', resolve('../src/'))
|
|
|
|
- .set('$root', resolve('../'))
|
|
|
|
-
|
|
|
|
- config.plugins.delete('preload-index');
|
|
|
|
- config.plugins.delete('prefetch-index');
|
|
|
|
-
|
|
|
|
- config.optimization.minimize(true);
|
|
|
|
-
|
|
|
|
- //打包分析添加
|
|
|
|
- //config.output.filename('js/[name].[hash].js').end();
|
|
|
|
- //config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
|
|
- },
|
|
|
|
- configureWebpack: (config) => {
|
|
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
-
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- //入口
|
|
|
|
- home: {
|
|
|
|
- pages: {
|
|
|
|
- index: {
|
|
|
|
- entry: 'src/projects/home/main.js',
|
|
|
|
- template: 'index/home/index.html',
|
|
|
|
- filename: 'index.html',
|
|
|
|
- title: '小鹏管家' + title,
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- outputDir: 'dist/home',
|
|
|
|
- devServer: {
|
|
|
|
- host: '0.0.0.0',
|
|
|
|
- port: 8080,
|
|
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
- },
|
|
|
|
- chainWebpack: (config) => {
|
|
|
|
- config.entry.app = ['babel-polyfill', '../src/projects/home/main.js']
|
|
|
|
- config.resolve.alias
|
|
|
|
- .set('@', resolve('../src/projects/home/'))
|
|
|
|
- .set('$project', resolve('../src/'))
|
|
|
|
- .set('$root', resolve('../'))
|
|
|
|
-
|
|
|
|
- config.plugins.delete('preload-index');
|
|
|
|
- config.plugins.delete('prefetch-index');
|
|
|
|
-
|
|
|
|
- config.optimization.minimize(true);
|
|
|
|
-
|
|
|
|
- //打包分析添加
|
|
|
|
- //config.output.filename('js/[name].[hash].js').end();
|
|
|
|
- //config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
|
|
- },
|
|
|
|
- configureWebpack: (config) => {
|
|
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
-
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //停车收费
|
|
|
|
- parking: {
|
|
|
|
- pages: {
|
|
|
|
- index: {
|
|
|
|
- entry: 'src/projects/parking/main.js',
|
|
|
|
- template: 'index/parking/index.html',
|
|
|
|
- filename: 'index.html',
|
|
|
|
- title: '小鹏管家停车收费' + title,
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- outputDir: 'dist/parking',
|
|
|
|
- devServer: {
|
|
|
|
- host: '0.0.0.0',
|
|
|
|
- port: 8080,
|
|
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
- },
|
|
|
|
- chainWebpack: (config) => {
|
|
|
|
- config.entry.app = ['babel-polyfill', '../src/projects/parking/main.js']
|
|
|
|
- config.resolve.alias
|
|
|
|
- .set('@', resolve('../src/projects/parking/'))
|
|
|
|
- .set('$project', resolve('../src/'))
|
|
|
|
- .set('$root', resolve('../'))
|
|
|
|
-
|
|
|
|
- config.plugins.delete('preload-index');
|
|
|
|
- config.plugins.delete('prefetch-index');
|
|
|
|
-
|
|
|
|
- config.optimization.minimize(true);
|
|
|
|
-
|
|
|
|
- //打包分析添加
|
|
|
|
- //config.output.filename('js/[name].[hash].js').end();
|
|
|
|
- //config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
|
|
- },
|
|
|
|
- configureWebpack: config => {
|
|
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
-
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-const configObj = config[projectName.name]
|
|
|
|
-module.exports = configObj
|
|
|