Commit 4b47f02693c934d94d66e880ff933e2d628a268d
Committed by
GitHub

Merge pull request #2029 from SergioCrisostomo/resuse-pr1281
Re-use pr1281
Showing
10 changed files
with
75 additions
and
47 deletions
Show diff stats
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 () { |
build/locale.js
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: [ |
package-lock.json
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" |
package.json
@@ -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", |