115 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @Author: Caven
 | |
|  * @Date: 2019-03-28 12:44:36
 | |
|  */
 | |
| 
 | |
| const path = require('path')
 | |
| const webpack = require('webpack')
 | |
| var CopyWebpackPlugin = require('copy-webpack-plugin')
 | |
| 
 | |
| function resolve(dir) {
 | |
|   return path.join(__dirname, dir)
 | |
| }
 | |
| 
 | |
| // let buildPath = path.resolve(__dirname, 'build/lib')
 | |
| 
 | |
| // let buildPath = 'F:\\workspace\\code\\electronic-sand-table-3.0\\static\\lib'
 | |
| // let buildPath = 'E:\\sourceCode\\单机版-网络版共享后台\\gisWeb4.0\\static\\lib'
 | |
| let buildPath = 'D:\\project\\sdk4_demo - 副本\\sdk4_demo\\sdk'
 | |
| // let buildPath = 'G:\\fs2\\yj\\4.0\\static\\sdk'
 | |
| // let buildPath = 'D:\\project\\sdk_vue2\\public\\sdk'
 | |
| // let buildPath = 'D:\\ProgramFiles\\dazugaj_platform\\resources\\app\\dist\\electron\\static\\lib'
 | |
| // let buildPath = 'E:\\sourceCode\\广西\\web\\static\\lib'
 | |
| let p = true
 | |
| let plugins = []
 | |
| if (p) {
 | |
|   plugins = [
 | |
|     new CopyWebpackPlugin([
 | |
|       {
 | |
|         from: resolve('static/'),
 | |
|         // to: 'E:\\sourceCode\\campus\\sdk',
 | |
|         to: buildPath,
 | |
|         // to: path.resolve(__dirname, 'build/lib'),
 | |
| 
 | |
|         // toType: 'dir'
 | |
|         force: true,
 | |
|         toType: 'dir',
 | |
|         transform: function (content) {
 | |
|           return content
 | |
|         },
 | |
|       },
 | |
|     ]),
 | |
|     new CopyWebpackPlugin([
 | |
|       {
 | |
|         from: resolve('docs/'),
 | |
|         // to: 'E:\\sourceCode\\campus\\sdk',
 | |
|         to: buildPath,
 | |
|         // to: path.resolve(__dirname, 'build/lib'),
 | |
| 
 | |
|         // toType: 'dir'
 | |
|         force: true,
 | |
|         toType: 'dir',
 | |
|         transform: function (content) {
 | |
|           return content
 | |
|         },
 | |
|       },
 | |
|     ]),
 | |
|     new webpack.BannerPlugin({
 | |
|       banner: `/*! update time:  ${new Date().toLocaleString()}*/`,
 | |
|       raw: true // 确保注释不会被转义
 | |
|     }),
 | |
|     new webpack.DefinePlugin({
 | |
|       'process.env': JSON.stringify(process.env)
 | |
|     })
 | |
|   ]
 | |
| }
 | |
| 
 | |
| module.exports = (env) => {
 | |
|   const IS_PROD = (env && env.production) || false
 | |
|   // let plugins = []
 | |
|   if (IS_PROD) {
 | |
|   }
 | |
|   return {
 | |
|     entry: {
 | |
|       YJEarth: ['entry'],
 | |
|       // efflect: ['entry'],
 | |
|     },
 | |
|     devtool: IS_PROD ? false : 'cheap-module-eval-source-map',
 | |
|     output: {
 | |
|       filename: IS_PROD ? '[name].min.js' : '[name].min.js',
 | |
|       // path: path.resolve(__dirname, 'build/lib'),
 | |
|       // path: 'E:\\sourceCode\\campus\\sdk',
 | |
|       path: buildPath,
 | |
|       sourcePrefix: '',
 | |
|     },
 | |
|     amd: {
 | |
|       toUrlUndefined: true,
 | |
|     },
 | |
|     module: {
 | |
|       unknownContextCritical: false,
 | |
|       rules: [
 | |
|         {
 | |
|           test: /\.js$/,
 | |
|           exclude: /node_modules/,
 | |
|           loader: 'babel-loader',
 | |
|           options: {
 | |
|             presets: ['@babel/preset-env'],
 | |
|             plugins: ['@babel/transform-runtime', '@babel/plugin-proposal-class-properties'],
 | |
|             compact: false,
 | |
|             ignore: ['checkTree'],
 | |
|           },
 | |
|         },
 | |
|       ],
 | |
|     },
 | |
|     resolve: {
 | |
|       extensions: ['.js', '.json', '.css'],
 | |
|       alias: {
 | |
|         // entry: './src/SDK2.0/index.js',
 | |
|         entry: './src/in/index.js',
 | |
|         // entry: './src/Yanmo/index.js',
 | |
|       },
 | |
|     },
 | |
|     plugins,
 | |
|   }
 | |
| }
 |