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 | 7 | // 编译less |
8 | 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 | 4 | files.forEach(file => { |
5 | - const name = file.split('.')[0] | |
6 | - entry[name] = './src/locale/lang/' + file | |
7 | -}) | |
8 | -module.exports = entry | |
9 | 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 | 6 | function resolve (dir) { |
6 | - return path.join(__dirname, '..', dir) | |
7 | + return path.join(__dirname, '..', dir); | |
7 | 8 | } |
8 | 9 | |
9 | 10 | module.exports = { |
... | ... | @@ -63,5 +64,8 @@ module.exports = { |
63 | 64 | 'vue': 'vue/dist/vue.esm.js', |
64 | 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 | 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 | 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 | 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 | 4 | process.env.NODE_ENV = 'production'; |
5 | 5 | |
6 | 6 | module.exports = { |
... | ... | @@ -12,7 +12,7 @@ module.exports = { |
12 | 12 | loader: 'babel-loader', |
13 | 13 | exclude: /node_modules/ |
14 | 14 | } |
15 | - ], | |
15 | + ] | |
16 | 16 | }, |
17 | 17 | output: { |
18 | 18 | path: path.resolve(__dirname, '../dist/locale'), |
... | ... | @@ -29,4 +29,4 @@ module.exports = { |
29 | 29 | } |
30 | 30 | }) |
31 | 31 | ] |
32 | -} | |
33 | 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 | 7 | process.env.NODE_ENV = 'production'; |
7 | 8 | |
... | ... | @@ -34,6 +35,13 @@ module.exports = merge(webpackBaseConfig, { |
34 | 35 | compress: { |
35 | 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 | 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 | 11 | // use inline sourcemap for karma-sourcemap-loader |
12 | 12 | devtool: '#inline-source-map', |
13 | 13 | plugins: [ | ... | ... |
package-lock.json
1 | 1 | { |
2 | 2 | "name": "iview", |
3 | - "version": "2.3.2", | |
3 | + "version": "2.4.0", | |
4 | 4 | "lockfileVersion": 1, |
5 | 5 | "requires": true, |
6 | 6 | "dependencies": { |
... | ... | @@ -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 | 1909 | "concat-map": { |
1891 | 1910 | "version": "0.0.1", |
1892 | 1911 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
... | ... | @@ -12302,8 +12321,7 @@ |
12302 | 12321 | "lodash": { |
12303 | 12322 | "version": "4.17.4", |
12304 | 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 | 12326 | "lodash._baseassign": { |
12309 | 12327 | "version": "3.2.0", |
... | ... | @@ -14438,14 +14456,12 @@ |
14438 | 14456 | "source-list-map": { |
14439 | 14457 | "version": "2.0.0", |
14440 | 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 | 14461 | "source-map": { |
14445 | 14462 | "version": "0.5.6", |
14446 | 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 | 14466 | "source-map-support": { |
14451 | 14467 | "version": "0.4.18", |
... | ... | @@ -16272,7 +16288,6 @@ |
16272 | 16288 | "version": "1.0.1", |
16273 | 16289 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", |
16274 | 16290 | "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", |
16275 | - "dev": true, | |
16276 | 16291 | "requires": { |
16277 | 16292 | "source-list-map": "2.0.0", |
16278 | 16293 | "source-map": "0.5.6" | ... | ... |