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,
|
|
}
|
|
}
|