Commit 4b47f02693c934d94d66e880ff933e2d628a268d

Authored by Aresn
Committed by GitHub
2 parents ea89b2df 4a7f28fd

Merge pull request #2029 from SergioCrisostomo/resuse-pr1281

Re-use pr1281
build/build-style.js
1 -var gulp = require('gulp');  
2 -var cleanCSS = require('gulp-clean-css');  
3 -var less = require('gulp-less');  
4 -var rename = require('gulp-rename');  
5 -var autoprefixer = require('gulp-autoprefixer'); 1 +const gulp = require('gulp');
  2 +const cleanCSS = require('gulp-clean-css');
  3 +const less = require('gulp-less');
  4 +const rename = require('gulp-rename');
  5 +const autoprefixer = require('gulp-autoprefixer');
6 6
7 // 编译less 7 // 编译less
8 gulp.task('css', function () { 8 gulp.task('css', function () {
1 -const readDir = require('fs').readdirSync  
2 -const files = readDir('./src/locale/lang')  
3 -const entry = {} 1 +const readDir = require('fs').readdirSync;
  2 +const files = readDir('./src/locale/lang');
  3 +const entry = {};
4 files.forEach(file => { 4 files.forEach(file => {
5 - const name = file.split('.')[0]  
6 - entry[name] = './src/locale/lang/' + file  
7 -})  
8 -module.exports = entry  
9 \ No newline at end of file 5 \ No newline at end of file
  6 + const name = file.split('.')[0];
  7 + entry[name] = './src/locale/lang/' + file;
  8 +});
  9 +module.exports = entry;
build/webpack.base.config.js
1 /** 1 /**
2 * 公共配置 2 * 公共配置
3 */ 3 */
4 -var path = require('path'); 4 +const path = require('path');
  5 +const webpack = require('webpack');
5 function resolve (dir) { 6 function resolve (dir) {
6 - return path.join(__dirname, '..', dir) 7 + return path.join(__dirname, '..', dir);
7 } 8 }
8 9
9 module.exports = { 10 module.exports = {
@@ -63,5 +64,8 @@ module.exports = { @@ -63,5 +64,8 @@ module.exports = {
63 'vue': 'vue/dist/vue.esm.js', 64 'vue': 'vue/dist/vue.esm.js',
64 '@': resolve('src') 65 '@': resolve('src')
65 } 66 }
66 - } 67 + },
  68 + plugins: [
  69 + new webpack.optimize.ModuleConcatenationPlugin()
  70 + ]
67 }; 71 };
build/webpack.dev.config.js
@@ -2,13 +2,13 @@ @@ -2,13 +2,13 @@
2 * 本地预览 2 * 本地预览
3 */ 3 */
4 4
5 -var path = require('path');  
6 -var webpack = require('webpack');  
7 -// var ExtractTextPlugin = require('extract-text-webpack-plugin');  
8 -var HtmlWebpackPlugin = require('html-webpack-plugin');  
9 -var merge = require('webpack-merge');  
10 -var webpackBaseConfig = require('./webpack.base.config.js');  
11 -var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin'); 5 +const path = require('path');
  6 +const webpack = require('webpack');
  7 +// const ExtractTextPlugin = require('extract-text-webpack-plugin');
  8 +const HtmlWebpackPlugin = require('html-webpack-plugin');
  9 +const merge = require('webpack-merge');
  10 +const webpackBaseConfig = require('./webpack.base.config.js');
  11 +const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
12 12
13 13
14 module.exports = merge(webpackBaseConfig, { 14 module.exports = merge(webpackBaseConfig, {
build/webpack.dist.dev.config.js
1 -var path = require('path');  
2 -var webpack = require('webpack');  
3 -var merge = require('webpack-merge');  
4 -var webpackBaseConfig = require('./webpack.base.config.js'); 1 +const path = require('path');
  2 +const webpack = require('webpack');
  3 +const merge = require('webpack-merge');
  4 +const webpackBaseConfig = require('./webpack.base.config.js');
5 5
6 process.env.NODE_ENV = 'production'; 6 process.env.NODE_ENV = 'production';
7 7
build/webpack.dist.locale.config.js
1 -var path = require('path');  
2 -var webpack = require('webpack');  
3 -var entry = require('./locale'); 1 +const path = require('path');
  2 +const webpack = require('webpack');
  3 +const entry = require('./locale');
4 process.env.NODE_ENV = 'production'; 4 process.env.NODE_ENV = 'production';
5 5
6 module.exports = { 6 module.exports = {
@@ -12,7 +12,7 @@ module.exports = { @@ -12,7 +12,7 @@ module.exports = {
12 loader: 'babel-loader', 12 loader: 'babel-loader',
13 exclude: /node_modules/ 13 exclude: /node_modules/
14 } 14 }
15 - ], 15 + ]
16 }, 16 },
17 output: { 17 output: {
18 path: path.resolve(__dirname, '../dist/locale'), 18 path: path.resolve(__dirname, '../dist/locale'),
@@ -29,4 +29,4 @@ module.exports = { @@ -29,4 +29,4 @@ module.exports = {
29 } 29 }
30 }) 30 })
31 ] 31 ]
32 -}  
33 \ No newline at end of file 32 \ No newline at end of file
  33 +};
build/webpack.dist.prod.config.js
1 -var path = require('path');  
2 -var webpack = require('webpack');  
3 -var merge = require('webpack-merge');  
4 -var webpackBaseConfig = require('./webpack.base.config.js'); 1 +const path = require('path');
  2 +const webpack = require('webpack');
  3 +const merge = require('webpack-merge');
  4 +const webpackBaseConfig = require('./webpack.base.config.js');
  5 +const CompressionPlugin = require('compression-webpack-plugin');
5 6
6 process.env.NODE_ENV = 'production'; 7 process.env.NODE_ENV = 'production';
7 8
@@ -34,6 +35,13 @@ module.exports = merge(webpackBaseConfig, { @@ -34,6 +35,13 @@ module.exports = merge(webpackBaseConfig, {
34 compress: { 35 compress: {
35 warnings: false 36 warnings: false
36 } 37 }
  38 + }),
  39 + new CompressionPlugin({
  40 + asset: '[path].gz[query]',
  41 + algorithm: 'gzip',
  42 + test: /\.(js|css)$/,
  43 + threshold: 10240,
  44 + minRatio: 0.8
37 }) 45 })
38 ] 46 ]
39 }); 47 });
build/webpack.test.config.js
@@ -2,12 +2,12 @@ @@ -2,12 +2,12 @@
2 * 用于单元测试 2 * 用于单元测试
3 */ 3 */
4 4
5 -var webpack = require('webpack');  
6 -var merge = require('webpack-merge');  
7 -var webpackBaseConfig = require('./webpack.base.config.js'); 5 +const webpack = require('webpack');
  6 +const merge = require('webpack-merge');
  7 +const webpackBaseConfig = require('./webpack.base.config.js');
8 8
9 9
10 -var webpackConfig = merge(webpackBaseConfig, { 10 +const webpackConfig = merge(webpackBaseConfig, {
11 // use inline sourcemap for karma-sourcemap-loader 11 // use inline sourcemap for karma-sourcemap-loader
12 devtool: '#inline-source-map', 12 devtool: '#inline-source-map',
13 plugins: [ 13 plugins: [
1 { 1 {
2 "name": "iview", 2 "name": "iview",
3 - "version": "2.3.2", 3 + "version": "2.4.0",
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
@@ -1887,6 +1887,25 @@ @@ -1887,6 +1887,25 @@
1887 } 1887 }
1888 } 1888 }
1889 }, 1889 },
  1890 + "compression-webpack-plugin": {
  1891 + "version": "1.0.0",
  1892 + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.0.0.tgz",
  1893 + "integrity": "sha512-OPp+tvvMCd8FrJHDLG4v5EpP4Fe5w5uBNXOmc3K7SdBaK1FH+TGwtafG9GLgTI6c2WHIgDFt98T8qXwaXuyRnw==",
  1894 + "requires": {
  1895 + "async": "2.4.1",
  1896 + "webpack-sources": "1.0.1"
  1897 + },
  1898 + "dependencies": {
  1899 + "async": {
  1900 + "version": "2.4.1",
  1901 + "resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz",
  1902 + "integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=",
  1903 + "requires": {
  1904 + "lodash": "4.17.4"
  1905 + }
  1906 + }
  1907 + }
  1908 + },
1890 "concat-map": { 1909 "concat-map": {
1891 "version": "0.0.1", 1910 "version": "0.0.1",
1892 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1911 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -12302,8 +12321,7 @@ @@ -12302,8 +12321,7 @@
12302 "lodash": { 12321 "lodash": {
12303 "version": "4.17.4", 12322 "version": "4.17.4",
12304 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 12323 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
12305 - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",  
12306 - "dev": true 12324 + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
12307 }, 12325 },
12308 "lodash._baseassign": { 12326 "lodash._baseassign": {
12309 "version": "3.2.0", 12327 "version": "3.2.0",
@@ -14438,14 +14456,12 @@ @@ -14438,14 +14456,12 @@
14438 "source-list-map": { 14456 "source-list-map": {
14439 "version": "2.0.0", 14457 "version": "2.0.0",
14440 "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", 14458 "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
14441 - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",  
14442 - "dev": true 14459 + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A=="
14443 }, 14460 },
14444 "source-map": { 14461 "source-map": {
14445 "version": "0.5.6", 14462 "version": "0.5.6",
14446 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", 14463 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
14447 - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",  
14448 - "dev": true 14464 + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
14449 }, 14465 },
14450 "source-map-support": { 14466 "source-map-support": {
14451 "version": "0.4.18", 14467 "version": "0.4.18",
@@ -16272,7 +16288,6 @@ @@ -16272,7 +16288,6 @@
16272 "version": "1.0.1", 16288 "version": "1.0.1",
16273 "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", 16289 "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz",
16274 "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", 16290 "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==",
16275 - "dev": true,  
16276 "requires": { 16291 "requires": {
16277 "source-list-map": "2.0.0", 16292 "source-list-map": "2.0.0",
16278 "source-map": "0.5.6" 16293 "source-map": "0.5.6"
@@ -41,6 +41,7 @@ @@ -41,6 +41,7 @@
41 }, 41 },
42 "dependencies": { 42 "dependencies": {
43 "async-validator": "^1.8.1", 43 "async-validator": "^1.8.1",
  44 + "compression-webpack-plugin": "^1.0.0",
44 "core-js": "^2.5.0", 45 "core-js": "^2.5.0",
45 "deepmerge": "^1.5.1", 46 "deepmerge": "^1.5.1",
46 "element-resize-detector": "^1.1.12", 47 "element-resize-detector": "^1.1.12",