| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- var path = require('path')
- var webpack = require('webpack')
- var HtmlwebpackPlugin = require('html-webpack-plugin');
- //引入happypack 实现多线程打包
- var HappyPack = require('happypack');
- var os = require('os');
- var happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });
- let BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
- function date(){
- let nowDate = new Date();
- let year = nowDate.getFullYear();
- let month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1): nowDate.getMonth() + 1;
- let day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
- let hours = nowDate.getHours() < 10 ? "0" + nowDate.getHours() : nowDate.getHours();
- let dateStr = year + '_' + month + day +'_'+ hours;
- return dateStr;
- }
- module.exports = {
- // entry: {
- // // 'vueExample': './src/main.js',
- // 'gwDdIndex': './src/pages/gwDdIndex.js',
- // // 'apkUpLoadIndex': './src/pages/apkUploadIndex.js',
- // "babel-polyfill": "babel-polyfill"
- // },
- // productionSourceMap:false,
- // configureWebpack: {
- // devtool:false
- // },
- entry:{
- 'gwDdIndex': './src/pages/gwDdIndex.js',
- "babel-polyfill": "babel-polyfill",
- "jobAccount": "./src/pages/jobAccount.js",
- "problemSeeXsk": "./src/pages/problemSeeXsk.js",
- "problemSeeRy": "./src/pages/problemSeeRy.js",
- "problemSeeSh": "./src/pages/problemSeeSh.js",
- "problemSeeDxs": "./src/pages/problemSeeDxs.js",
- "problemSeeSz": "./src/pages/problemSeeSz.js",
- "home": "./src/pages/home.js",
- "map3D": "./src/pages/map3D.js",
- "inspectionPlanQuery": "./src/pages/inspectionPlanQuery.js",
- },
- optimization: {
- minimize: false
- },
- output: {
- path: path.resolve(__dirname, './dist'),
- publicPath: '/dist/',
- filename: '[name]_build.js',
- chunkFilename: 'chunk_[name].js?[chunkhash]',
- },
- plugins: [
- new webpack.HotModuleReplacementPlugin(),
- // new webpack.optimize.CommonsChunkPlugin({
- // name:['vue','echarts'],
- // minChunks:Infinity
- // }),
- // new webpack.optimize.UglifyJsPlugin({
- // sourceMap: true,
- // parallel: true,
- // compress: {
- // warnings: false
- // }
- // }),
- new webpack.ProvidePlugin({
- $: "jquery",
- jQuery: "jquery",
- jquery: "jquery",
- "window.jQuery": "jquery"
- }),
- new webpack.LoaderOptionsPlugin({
- minimize: false
- }),
- new HappyPack({
- id: 'happybabel',
- loaders: [
- {
- loader:'babel-loader',
- options: {
- presets: ['es2015'],
- plugins: ['syntax-dynamic-import'],
- cacheDirectory:true
- },
- }],
- threadPool: happyThreadPool,
- // cache: true,
- verbose: true
- }),
- new HappyPack({
- id: 'happyvue',
- loaders: ['vue-loader'],
- threadPool: happyThreadPool,
- // cache: true,
- verbose: true
- }),
- new BundleAnalyzerPlugin()
- ],
- module: {
- rules: [
- {
- test: /\.css$/,
- use: [
- 'vue-style-loader',
- 'css-loader'
- ],
- },
- {
- test: /\.(woff|svg|eot|ttf)\??.*$/,
- loader: 'url-loader'
- },
- {
- test: /\.vue$/,
- // loader: 'vue-loader',
- use: 'happypack/loader?id=happyvue',
- },
- {
- test: /\.js$/,
- use: 'happypack/loader?id=happybabel',
- exclude: /(node_modules|dist|static)/
- },
- {
- test: /\.(png|jpg|gif|svg)$/,
- loader: 'file-loader',
- options: {
- name: '[name].[ext]?[hash]'
- }
- }
- ]
- },
- resolve: {
- alias: {
- 'vue$': 'vue/dist/vue.esm.js',
- '@api':path.resolve('src/api'),
- '@widget':path.resolve('src/widgets'),
- '@util':path.resolve('src/utils'),
- '@baseWidget':path.resolve('src/widgets/baseWidget'),
- '@scss':path.resolve('src/assets/sass'),
- },
- extensions: ['.html', '.js', '.vue', '.json','.scss'],
- modules: [
- path.resolve('src'),
- path.resolve('node_modules')
- ],
- },
- devServer: {
- proxy: {
- '/pdcApi': {
- // target: "http://localhost:8500",
- // target: "http://61.154.12.112:9900/pdcApi",
- target: "http://127.0.0.1:8500",
- // target: "http://192.168.1.136:8400",
- // target: "http://pdc.goldenwater.com.cn/pdcApi",
- // target: "http://60.208.113.79:8000/pdcApi/",
- changeOrigin: true,
- pathRewrite: {
- '^/pdcApi': ''
- }
- },
- '/trs': {
- target: "http://10.1.194.19:8080",
- changeOrigin: true,
- pathRewrite: {
- '^/trs': ''
- }
- },
- '/arcgisApi/': {
- target: "http://hzz-pad.goldenwater.com.cn/arcgisApi/",
- changeOrigin: true,
- pathRewrite: {
- '^/arcgisApi/': ''
- }
- },
- '/JsReport/': {
- target: "http://pdc.goldenwater.com.cn/JsReport/",
- changeOrigin: true,
- pathRewrite: {
- '^/JsReport/': ''
- }
- },
- '/demo/': {
- target: "http://10.1.102.136:8888/demo/",
- changeOrigin: true,
- pathRewrite: {
- '^/demo/': ''
- }
- },
- '/pageofficePath/': {
- target: "http://pdc.goldenwater.com.cn/pageofficePath/",
- // target: "http://10.1.102.169:9002/",
- changeOrigin: true,
- pathRewrite: {
- '^/pageofficePath/': ''
- }
- },
- },
- host:'0.0.0.0',
- port:'8082',
- open:true,//自动拉起浏览器
- hot:true,//热加载
- historyApiFallback: true,
- noInfo: true,
- overlay: true
- },
- performance: {
- hints: false
- },
- devtool: false
- }
- if (process.env.NODE_ENV === 'production') {
- module.exports.devtool = false;
- module.exports.optimization = {
- minimize: true
- },
- module.exports.output = {
- path: path.resolve(__dirname, './dist'),
- publicPath: '/dist/',
- filename: '[name]_build_v'+date()+'_.js',
- chunkFilename: 'chunk_[name]_v'+date()+'_[chunkhash].js?',
- };
- // http://vue-loader.vuejs.org/en/workflow/production.html
- module.exports.plugins = (module.exports.plugins || []).concat([
- new webpack.DefinePlugin({
- 'process.env': {
- NODE_ENV: '"production"'
- }
- }),
- // new webpack.optimize.UglifyJsPlugin({
- // sourceMap: true,
- // compress: {
- // warnings: false
- // }
- // }),
- new webpack.LoaderOptionsPlugin({
- minimize: true
- }),
- new HtmlwebpackPlugin({
- filename: 'gwDdindex.html',
- template: __dirname + '/src/pages/gwDdIndex.html',//src\pages\gwDdIndex.html
- chunks:['gwDdIndex'],
- inject:true,
- versionPath: date(),
- // chunksSortMode:'none',
- }),
- //工作统计
- new HtmlwebpackPlugin({
- title:'jobAccountPage',
- template:__dirname + '/src/pages/jobAccount.html',
- filename:'jobAccount.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['jobAccount'],
- }),
- //问题查看小水库
- new HtmlwebpackPlugin({
- title:'problemSeeXsk',
- template:__dirname + '/src/pages/problemSeeXsk.html',
- filename:'problemSeeXsk.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['problemSeeXsk'],
- }),
- //问题查看人饮
- new HtmlwebpackPlugin({
- title:'problemSeeRy',
- template:__dirname + '/src/pages/problemSeeRy.html',
- filename:'problemSeeRy.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['problemSeeRy'],
- }),
- //问题查看水毁
- new HtmlwebpackPlugin({
- title:'problemSeeSh',
- template:__dirname + '/src/pages/problemSeeSh.html',
- filename:'problemSeeSh.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['problemSeeSh'],
- }),
- //问题查看地下水
- new HtmlwebpackPlugin({
- title:'problemSeeDxs',
- template:__dirname + '/src/pages/problemSeeDxs.html',
- filename:'problemSeeDxs.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['problemSeeDxs'],
- }),
- //问题查看水闸
- new HtmlwebpackPlugin({
- title:'problemSeeSz',
- template:__dirname + '/src/pages/problemSeeSz.html',
- filename:'problemSeeSz.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['problemSeeSz'],
- }),
- //督查计划查询
- new HtmlwebpackPlugin({
- title:'inspectionPlanQuery',
- template:__dirname + '/src/pages/inspectionPlanQuery.html',
- filename:'inspectionPlanQuery.html',
- templateParameters:{
- param1:'tony stark',
- param2:'bruce banner'
- },
- chunks:['inspectionPlanQuery'],
- }),
- new HtmlwebpackPlugin({
- title:'home',
- template:__dirname + '/src/pages/home.html',
- filename:'home.html',
- chunks:['home'],
- }),
- new HtmlwebpackPlugin({
- title:'map3D',
- template:__dirname + '/src/pages/map3D.html',
- filename:'map3D.html',
- chunks:['map3D'],
- })
- ]);
- }
|