Browse Source

修改webpack

albertshaw 8 years ago
parent
commit
e34083cca7

File diff suppressed because it is too large
+ 5323 - 1
build/admin/index.css


+ 1 - 1
build/admin/index.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../admin/index.js"></script></body>
+<script type="text/javascript" src="../admin/index.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 19
build/admin/index.js


File diff suppressed because it is too large
+ 3729 - 1
build/admin/login.css


+ 1 - 1
build/admin/login.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../admin/login.js"></script></body>
+<script type="text/javascript" src="../admin/login.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 18
build/admin/login.js


File diff suppressed because it is too large
+ 11773 - 1
build/admin/servicesManage/patent.css


+ 1 - 1
build/admin/servicesManage/patent.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../../vendors.js"></script><script type="text/javascript" src="../../admin/servicesManage/patent.js"></script></body>
+<script type="text/javascript" src="../../admin/servicesManage/patent.js"></script><script type="text/javascript" src="../../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 39
build/admin/servicesManage/patent.js


File diff suppressed because it is too large
+ 11082 - 1
build/admin/userManage.css


+ 1 - 1
build/admin/userManage.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../admin/userManage.js"></script></body>
+<script type="text/javascript" src="../admin/userManage.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 38
build/admin/userManage.js


File diff suppressed because it is too large
+ 6351 - 1
build/user/account/index.css


+ 1 - 1
build/user/account/index.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../../vendors.js"></script><script type="text/javascript" src="../../user/account/index.js"></script></body>
+<script type="text/javascript" src="../../user/account/index.js"></script><script type="text/javascript" src="../../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 20
build/user/account/index.js


File diff suppressed because it is too large
+ 12088 - 1
build/user/account/services.css


+ 1 - 1
build/user/account/services.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../../vendors.js"></script><script type="text/javascript" src="../../user/account/services.js"></script></body>
+<script type="text/javascript" src="../../user/account/services.js"></script><script type="text/javascript" src="../../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 38
build/user/account/services.js


File diff suppressed because it is too large
+ 10965 - 1
build/user/account/set.css


+ 1 - 1
build/user/account/set.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../../vendors.js"></script><script type="text/javascript" src="../../user/account/set.js"></script></body>
+<script type="text/javascript" src="../../user/account/set.js"></script><script type="text/javascript" src="../../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 42
build/user/account/set.js


File diff suppressed because it is too large
+ 7188 - 1
build/user/certify.css


+ 1 - 1
build/user/certify.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../user/certify.js"></script></body>
+<script type="text/javascript" src="../user/certify.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 23
build/user/certify.js


File diff suppressed because it is too large
+ 7185 - 1
build/user/groupCertify.css


+ 1 - 1
build/user/groupCertify.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../user/groupCertify.js"></script></body>
+<script type="text/javascript" src="../user/groupCertify.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 24
build/user/groupCertify.js


+ 1 - 1
build/user/index.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../user/index.js"></script></body>
+<script type="text/javascript" src="../user/index.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 20 - 1
build/user/index.js


File diff suppressed because it is too large
+ 7246 - 1
build/user/login.css


+ 1 - 1
build/user/login.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../user/login.js"></script></body>
+<script type="text/javascript" src="../user/login.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 21
build/user/login.js


File diff suppressed because it is too large
+ 7651 - 1
build/user/signIn.css


+ 1 - 1
build/user/signIn.html

@@ -27,6 +27,6 @@
 
 <body>
     <div id="root"></div>
-<script type="text/javascript" src="../vendors.js"></script><script type="text/javascript" src="../user/signIn.js"></script></body>
+<script type="text/javascript" src="../user/signIn.js"></script><script type="text/javascript" src="../vendors.js"></script></body>
 
 </html>

File diff suppressed because it is too large
+ 35 - 24
build/user/signIn.js


File diff suppressed because it is too large
+ 24 - 43
build/vendors.js


+ 17 - 17
package.json

@@ -7,7 +7,7 @@
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "webpack --progress --colors",
     "pro": "webpack --config webpack.config.pro.js --progress --colors",
-    "dev": "webpack-dev-server --port 80 --devtool eval --progress --colors --hot --content-base build"
+    "dev": "webpack-dev-server --port 8000 --devtool eval --progress --colors --hot --content-base build"
   },
   "repository": {
     "type": "git",
@@ -16,26 +16,26 @@
   "author": "",
   "license": "ISC",
   "devDependencies": {
-    "babel-core": "^6.20.0",
-    "babel-loader": "^6.2.9",
+    "babel-core": "^6.23.1",
+    "babel-loader": "^6.3.2",
     "babel-plugin-antd": "^0.5.1",
-    "babel-plugin-import": "^1.1.0",
-    "babel-preset-es2015": "^6.18.0",
-    "babel-preset-react": "^6.16.0",
-    "css-loader": "^0.26.1",
-    "extract-text-webpack-plugin": "^1.0.1",
-    "file-loader": "^0.9.0",
-    "html-webpack-plugin": "^2.24.1",
+    "babel-plugin-import": "^1.1.1",
+    "babel-preset-es2015": "^6.22.0",
+    "babel-preset-react": "^6.23.0",
+    "css-loader": "^0.26.2",
+    "extract-text-webpack-plugin": "^2.1.0",
+    "file-loader": "^0.10.1",
+    "html-webpack-plugin": "^2.28.0",
     "jquery": "^3.1.1",
     "jsx-loader": "^0.13.2",
-    "less": "^2.7.1",
+    "less": "^2.7.2",
     "less-loader": "^2.2.3",
     "react-hot-loader": "^1.3.1",
-    "react-router": "^3.0.0",
-    "style-loader": "^0.13.1",
-    "url-loader": "^0.5.7",
-    "webpack": "^1.14.0",
-    "webpack-dev-server": "^1.16.2"
+    "react-router": "^3.0.2",
+    "style-loader": "^0.13.2",
+    "url-loader": "^0.5.8",
+    "webpack": "^2.2.1",
+    "webpack-dev-server": "^2.4.1"
   },
   "dependencies": {
     "antd": "^2.5.2",
@@ -43,4 +43,4 @@
     "react": "^15.4.1",
     "react-dom": "^15.4.1"
   }
-}
+}

+ 49 - 42
webpack.config.js

@@ -12,55 +12,55 @@ let theme = {
 
 module.exports = {
     entry: {
-        'user/index': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/index': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/index.js'
         ],
-        'user/login': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/login': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/login.js'
         ],
-        'user/signIn': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/signIn': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/signIn.js'
         ],
-        'user/certify': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/certify': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/certify.js'
         ],
-        'user/groupCertify': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/groupCertify': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/groupCertify.js'
         ],
         //user-account
-        'user/account/index': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/account/index': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/account/index.js'
         ],
-        'user/account/set': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/account/set': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/account/set.js'
         ],
-        'user/account/services': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'user/account/services': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/user/account/services.js'
         ],
 
 
         //admin
-        'admin/index': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'admin/index': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/admin/index.js'
         ],
-        'admin/login': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'admin/login': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/admin/login.js'
         ],
-        'admin/userManage': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'admin/userManage': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/admin/userManage.js'
         ],
-        'admin/servicesManage/patent': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+        'admin/servicesManage/patent': ['webpack-dev-server/client?http://127.0.0.1:8000', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './js/admin/servicesManage/patent.js'
         ]
@@ -72,42 +72,56 @@ module.exports = {
         filename: '[name].js'
     },
     module: {
-        loaders: [{
+        rules: [{
                 test: /\.jsx?$/,
                 exclude: /node_modules/,
-                loader: 'babel-loader',
-                query: {
-                    "presets": ["es2015", "react"],
-                    "plugins": [
-                        ["antd", {
-                            "style": true
-                        }]
-                    ]
+                use: {
+                    loader: 'babel-loader',
+                    options: {
+                        "presets": ["es2015", "react"],
+                        "plugins": [
+                            ["antd", {
+                                "style": true
+                            }]
+                        ]
+                    }
                 }
-                //loaders: ['babel-loader?presets[]=es2015,presets[]=react'] 
             },
-            //{
-            //test: /\.module\.less$/,
-            //loader: 'style!css!less?{"modifyVars":{"@primary-color": "#1DA57A"}}'
-            //}, 
             {
-                test: /\.css$/,
-                loader: 'style!css'
-            }, {
                 test: /\.less$/,
-                loader: `style!css!less?{"modifyVars":${JSON.stringify(theme)}}`
+                use: ExtractTextPlugin.extract({
+                    fallback: 'style-loader',
+                    use: [{
+                        loader: 'css-loader',
+                        options: {
+                            importLoaders: 1
+                        }
+                    }, {
+                        loader: 'less-loader',
+                        options: {
+                            modifyVars: theme
+                        }
+                    }]
+                })
             }, {
                 test: /\.(png|jpg)$/,
-                loader: 'url?limit=8192&name=[path][name].[ext]'
+                use: [{
+                    loader: 'url-loader',
+                    options: {
+                        limit: 8192,
+                        name: '[path][name].[ext]'
+                    }
+                }]
             }
-            //{test: /\.(png|jpg)$/, loader: 'file' }
         ]
     },
     resolve: {
-        extensions: ['', '.js', '.jsx']
+        extensions: ['.js', '.jsx']
     },
     plugins: [
-        new ExtractTextPlugin('[name].bundle.css', {
+        new ExtractTextPlugin({
+            filename: "[name].css",
+            disable: false,
             allChunks: true
         }),
 
@@ -188,13 +202,6 @@ module.exports = {
             filename: 'admin/servicesManage/patent.html',
             template: './template/template.html',
             chunks: ['admin/servicesManage/patent', 'vendors']
-        }),
-
-
-
-        //这个使用uglifyJs压缩你的js代码
-        //new webpack.optimize.UglifyJsPlugin({minimize: true}),
-        //把入口文件里面的数组打包成verdors.js
-        //new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'),
+        })
     ]
 };

+ 48 - 24
webpack.config.pro.js

@@ -35,32 +35,51 @@ module.exports = {
         filename: '[name].js',
     },
     module: {
-        loaders: [{
-            test: /\.jsx?$/,
-            exclude: /node_modules/,
-            loader: 'babel-loader',
-            query: {
-                "presets": ["es2015", "react"],
-                "plugins": [
-                    ["antd", {
-                        "style": true
+        rules: [{
+                test: /\.jsx?$/,
+                exclude: /node_modules/,
+                use: {
+                    loader: 'babel-loader',
+                    options: {
+                        "presets": ["es2015", "react"],
+                        "plugins": [
+                            ["antd", {
+                                "style": true
+                            }]
+                        ]
+                    }
+                }
+            },
+            {
+                test: /\.less$/,
+                use: ExtractTextPlugin.extract({
+                    fallback: 'style-loader',
+                    use: [{
+                        loader: 'css-loader',
+                        options: {
+                            importLoaders: 1
+                        }
+                    }, {
+                        loader: 'less-loader',
+                        options: {
+                            modifyVars: theme
+                        }
                     }]
-                ]
+                })
+            }, {
+                test: /\.(png|jpg)$/,
+                use: [{
+                    loader: 'url-loader',
+                    options: {
+                        limit: 8192,
+                        name: '[path][name].[ext]'
+                    }
+                }]
             }
-            //loaders: ['babel-loader?presets[]=es2015,presets[]=react'] 
-        }, {
-            test: /\.css$/,
-            loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
-        }, {
-            test: /\.less$/,
-            loader: ExtractTextPlugin.extract('style', `css!less?{"modifyVars":${JSON.stringify(theme)}}`)
-        }, {
-            test: /\.(png|jpg)$/,
-            loader: 'url?limit=8192&name=[path][name].[ext]'
-        }]
+        ]
     },
     resolve: {
-        extensions: ['', '.js', '.jsx']
+        extensions: ['.js', '.jsx']
     },
     plugins: [
         //这个使用uglifyJs压缩你的js代码
@@ -75,11 +94,16 @@ module.exports = {
                 NODE_ENV: JSON.stringify("production")
             }
         }),
-        new ExtractTextPlugin('[name].css', {
+        new ExtractTextPlugin({
+            filename: "[name].css",
+            disable: false,
             allChunks: true
         }),
         //把入口文件里面的数组打包成verdors.js
-        new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'),
+        new webpack.optimize.CommonsChunkPlugin({
+            name: 'vendors',
+            chunks: ['vendors']
+        }),
 
         //user
         new HtmlWebpackPlugin({