Explorar o código

打包方式更改

liting2017 %!s(int64=6) %!d(string=hai) anos
pai
achega
0b458b4964

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1123 - 92
package-lock.json


+ 2 - 0
package.json

@@ -47,7 +47,9 @@
     "bootstrap": "^3.3.7",
     "bootstrap-loader": "^2.1.0",
     "bootstrap-sass": "^3.3.7",
+    "copy-webpack-plugin": "^4.5.2",
     "echarts": "^3.6.2",
+    "html-webpack-include-assets-plugin": "^1.0.4",
     "jquery": "^3.1.1",
     "laypage": "^1.1.5"
   }

+ 3 - 0
src/css/newMenu/serviceDetails.css

@@ -435,6 +435,9 @@ margin-bottom: 100px;
     border-color:transparent; 
     box-shadow: 0 0 10px #1697ea ;
 }
+.CommentSend{
+    height: 34px;
+}
 .CommentSend button{
     width: 150px;
     height: 34px;

+ 2 - 2
src/js/index.js

@@ -1,5 +1,5 @@
-import '../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import '../css/newMenu/public.css'; 
 import '../css/newMenu/header.css'; 
 import '../css/index_home.css';

+ 1 - 1
src/js/newMenu/achievement.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/newMenu/achievementList.js

@@ -3,8 +3,8 @@
  * 	@update:2018/05/19
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/achievementList.css';

+ 1 - 1
src/js/newMenu/adviser.js

@@ -3,7 +3,7 @@
  * 	@update:2018/09/07
  * 
  */
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/newMenu/adviserDetail.js

@@ -3,8 +3,8 @@
  * 	@update:2018/06/20
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/adviserDetail.css';

+ 2 - 2
src/js/newMenu/adviserList.js

@@ -3,8 +3,8 @@
  * 	@update:2018/09/07
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/adviserList.css';

+ 2 - 2
src/js/newMenu/companyProfile.js

@@ -1,5 +1,5 @@
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/companyProfile.css';

+ 2 - 2
src/js/newMenu/continueHigh.js

@@ -3,8 +3,8 @@
  * 	@update:2018/07/23
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/landingPage/continueHigh.css';

+ 1 - 1
src/js/newMenu/continueHighApp.js

@@ -3,7 +3,7 @@
  * 	@update:2018/07/23
  * 
  */
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'css/newMenu/public.css';
 import 'css/newMenu/landingPage/continueHighApp.css';
 $(function(){

+ 1 - 1
src/js/newMenu/demand.js

@@ -1,7 +1,7 @@
 /* 
     @update:2018/06/04
 */
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/newMenu/demandList.js

@@ -3,8 +3,8 @@
  * 	@update:2018/05/19
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/achievementList.css';

+ 2 - 2
src/js/newMenu/evaluate.js

@@ -1,5 +1,5 @@
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/highTech.css';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 1 - 1
src/js/newMenu/index.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 1 - 1
src/js/newMenu/patent.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/newMenu/patentList.js

@@ -3,8 +3,8 @@
  * 	@update:2018/07/23
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/patentList.css';

+ 1 - 1
src/js/newMenu/safeguarding.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/newMenu/serviceDetails.js

@@ -3,8 +3,8 @@
  * 	@update:2018/06/20
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/serviceDetails.css';

+ 2 - 2
src/js/newMenu/serviceList.js

@@ -3,8 +3,8 @@
  * 	@update:2018/06/20
  * 
  */
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/serviceList.css';

+ 1 - 1
src/js/newMenu/services.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css';

+ 2 - 2
src/js/newMenu/shopList.js

@@ -1,5 +1,5 @@
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/newMenu/shopList.css';

+ 1 - 1
src/js/newMenu/tradingIndex.js

@@ -1,4 +1,4 @@
-import 'css/bootstrap.less';
+// import 'css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'

+ 2 - 2
src/js/register.js

@@ -1,5 +1,5 @@
-import '../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import '../css/register.css';

+ 2 - 2
src/js/search.js

@@ -1,5 +1,5 @@
-import '../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import '../css/newMenu/public.css'; 
 import '../css/newMenu/header.css'; 
 import '../css/search.css';

+ 2 - 2
src/js/service.js

@@ -1,5 +1,5 @@
-import '../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import '../css/public.css';
 import '../css/service.css';
 import '../css/main_banner.css';

+ 2 - 2
src/js/technologyTrading/achievement.js

@@ -1,5 +1,5 @@
-import '../../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import '../../css/public.css';
 import '../../css/main_banner.css';
 import '../../js/public.js';

+ 2 - 2
src/js/technologyTrading/achievementDetail.js

@@ -1,5 +1,5 @@
-import 'css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import 'css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import 'css/main_banner.css';

+ 2 - 2
src/js/technologyTrading/demandDetail.js

@@ -1,5 +1,5 @@
-import '../../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import '../../css/main_banner.css';

+ 2 - 2
src/js/thinkTank.js

@@ -1,5 +1,5 @@
-import '../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css';
 import '../css/main_banner.css';

+ 2 - 2
src/js/thinkTank/policyDetail.js

@@ -1,5 +1,5 @@
-import '../../css/bootstrap.less';
-import 'bootstrap/dist/js/bootstrap.js';
+// import '../../css/bootstrap.less';
+// import 'bootstrap/dist/js/bootstrap.js';
 import 'css/newMenu/public.css';
 import 'css/newMenu/header.css'
 import '../../css/main_banner.css';

+ 67 - 0
webpack-dll.config.js

@@ -0,0 +1,67 @@
+const webpack = require('webpack');
+const ExtractTextPlugin = require('extract-text-webpack-plugin');
+const dirVars = require('./webpack/dir.config.js');
+var path = require('path');
+const version = require('./package.json').version;
+const argv = require('yargs').argv;
+
+let theme = {
+  '@primary-color': '#58a3ff',
+  '@link-color': '#58a3ff'
+};
+module.exports = (function () {
+	let staticHost = 'http://192.168.0.188:8088';    
+    switch (argv.env.deploy) {
+        case 'test':
+            staticHost = 'http://statics.jishutao.com';
+            break;
+        case 'prod':
+            staticHost = 'http://ss.jishutao.com';
+            break;
+        default:
+            break;
+    }
+	staticHost = staticHost + '/client/' + version + '/';
+	theme['@icon-url'] = '"' + staticHost + 'css/iconfont/iconfont"'
+  var dllContext = path.resolve(dirVars.dllDir, './' + argv.env.deploy);
+  return {
+    output: {
+      path: dllContext,
+      filename: 'vendors.js',
+      library: 'vendors', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与DllPlugin的name参数保持一致
+    },
+    entry: {
+      dll: [
+        'jquery',
+        'bootstrap/dist/css/bootstrap.css',
+      ],
+    },
+    plugins: [
+      new webpack.DllPlugin({
+        path: path.resolve(dllContext, 'manifest.json'), // 本Dll文件中各模块的索引,供DllReferencePlugin读取使用
+        name: 'vendors', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与参数output.library保持一致
+        context: dirVars.staticRootDir, // 指定一个路径作为上下文环境,需要与DllReferencePlugin的context参数保持一致,建议统一设置为项目根目录
+      }),
+      new ExtractTextPlugin({
+        filename: "vendors.css",
+        disable: false,
+        allChunks: true
+      }), // 打包css/less的时候会用到ExtractTextPlugin
+      new webpack.optimize.UglifyJsPlugin({
+        minimize: true,
+        compress: {
+          warnings: false,
+        },
+      }),
+      new webpack.DefinePlugin({
+        "process.env": {
+            NODE_ENV: JSON.stringify("production")
+        }
+      })
+    ],
+    module: require('./webpack/module.config.js')(theme),
+    resolve: {
+      extensions: ['.js', '.jsx']
+    }
+  }
+})();

+ 38 - 14
webpack.config.js

@@ -8,6 +8,10 @@ const version = require('./package.json').version;
 const argv = require('yargs').argv;
 const ImageminPlugin = require('imagemin-webpack-plugin').default;
 
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const dirVars = require('./webpack/dir.config.js');
+const HtmlWebpackIncludeAssetsPlugin = require('html-webpack-include-assets-plugin');
+
 let theme = {
     '@primary-color': '#58a3ff',
     '@link-color': '#58a3ff'
@@ -21,22 +25,42 @@ module.exports = (function () {
         //     name: 'vendors',
         //     minChunks: 4
         // }),
-        new webpack.optimize.CommonsChunkPlugin({
-            name: 'vendor',
-            minChunks: function (module) {
-              return (
-                module.resource &&
-                /\.js$/.test(module.resource) &&
-                module.resource.indexOf(
-                  path.join(__dirname, '../node_modules')
-                ) === 0
-              )
+        // new webpack.optimize.CommonsChunkPlugin({
+        //     name: 'vendor',
+        //     minChunks: function (module) {
+        //       return (
+        //         module.resource &&
+        //         /\.js$/.test(module.resource) &&
+        //         module.resource.indexOf(
+        //           path.join(__dirname, '../node_modules')
+        //         ) === 0
+        //       )
+        //     }
+        // }),
+        // new webpack.optimize.CommonsChunkPlugin({
+        //     name: 'vendors',
+        //     chunks: ['vendor']
+        // }),
+
+        /* 配置好Dll */
+       new webpack.DllReferencePlugin({
+        context: dirVars.staticRootDir, // 指定一个路径作为上下文环境,需要与DllPlugin的context参数保持一致,建议统一设置为项目根目录
+        manifest: require('./dll/'+argv.env.deploy+'/manifest.json') // 指定manifest.json
+        }),
+        // 把dll文件复制到打包后的文件中
+        new CopyWebpackPlugin([
+            {
+                from: path.resolve('./dll/'+argv.env.deploy),
+                to: (__dirname, './'),
+                ignore: ['.*']
             }
+        ]),
+        // 将 dll.js 插入HTML里
+        new HtmlWebpackIncludeAssetsPlugin({
+            assets: [(__dirname, 'vendors.js'),(__dirname, 'vendors.css')],
+            append: false
         }),
-        new webpack.optimize.CommonsChunkPlugin({
-            name: 'vendors',
-            chunks: ['vendor']
-        }),
+
         new ExtractTextPlugin({
             filename: "[name].css",
             disable: false,

+ 10 - 0
webpack/dir.config.js

@@ -0,0 +1,10 @@
+var path = require('path');
+var moduleExports = {};
+
+// 源文件目录
+moduleExports.staticRootDir = path.resolve(__dirname, '../'); // 项目根目录
+moduleExports.dllDir = path.resolve(moduleExports.staticRootDir, './dll'); // 存放由各种不常改变的js/css打包而来的dll
+// 生成文件目录
+moduleExports.buildDir = path.resolve(moduleExports.staticRootDir, './build'); // 存放编译后生成的所有代码、资源(图片、字体等,虽然只是简单的从源目录迁移过来)
+
+module.exports = moduleExports;