Merge pull request #2029 from SergioCrisostomo/resuse-pr1281

Re-use pr1281
This commit is contained in:
Aresn 2017-10-08 22:07:28 -05:00 committed by GitHub
commit 4b47f02693
10 changed files with 75 additions and 47 deletions

View file

@ -1,8 +1,8 @@
var gulp = require('gulp'); const gulp = require('gulp');
var cleanCSS = require('gulp-clean-css'); const cleanCSS = require('gulp-clean-css');
var less = require('gulp-less'); const less = require('gulp-less');
var rename = require('gulp-rename'); const rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer'); const autoprefixer = require('gulp-autoprefixer');
// 编译less // 编译less
gulp.task('css', function () { gulp.task('css', function () {

View file

@ -1,8 +1,8 @@
const readDir = require('fs').readdirSync const readDir = require('fs').readdirSync;
const files = readDir('./src/locale/lang') const files = readDir('./src/locale/lang');
const entry = {} const entry = {};
files.forEach(file => { files.forEach(file => {
const name = file.split('.')[0] const name = file.split('.')[0];
entry[name] = './src/locale/lang/' + file entry[name] = './src/locale/lang/' + file;
}) });
module.exports = entry module.exports = entry;

View file

@ -1,9 +1,10 @@
/** /**
* 公共配置 * 公共配置
*/ */
var path = require('path'); const path = require('path');
const webpack = require('webpack');
function resolve (dir) { function resolve (dir) {
return path.join(__dirname, '..', dir) return path.join(__dirname, '..', dir);
} }
module.exports = { module.exports = {
@ -63,5 +64,8 @@ module.exports = {
'vue': 'vue/dist/vue.esm.js', 'vue': 'vue/dist/vue.esm.js',
'@': resolve('src') '@': resolve('src')
} }
} },
plugins: [
new webpack.optimize.ModuleConcatenationPlugin()
]
}; };

View file

@ -2,13 +2,13 @@
* 本地预览 * 本地预览
*/ */
var path = require('path'); const path = require('path');
var webpack = require('webpack'); const webpack = require('webpack');
// var ExtractTextPlugin = require('extract-text-webpack-plugin'); // const ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin');
var merge = require('webpack-merge'); const merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.base.config.js'); const webpackBaseConfig = require('./webpack.base.config.js');
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin'); const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
module.exports = merge(webpackBaseConfig, { module.exports = merge(webpackBaseConfig, {

View file

@ -1,7 +1,7 @@
var path = require('path'); const path = require('path');
var webpack = require('webpack'); const webpack = require('webpack');
var merge = require('webpack-merge'); const merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.base.config.js'); const webpackBaseConfig = require('./webpack.base.config.js');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';

View file

@ -1,6 +1,6 @@
var path = require('path'); const path = require('path');
var webpack = require('webpack'); const webpack = require('webpack');
var entry = require('./locale'); const entry = require('./locale');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';
module.exports = { module.exports = {
@ -12,7 +12,7 @@ module.exports = {
loader: 'babel-loader', loader: 'babel-loader',
exclude: /node_modules/ exclude: /node_modules/
} }
], ]
}, },
output: { output: {
path: path.resolve(__dirname, '../dist/locale'), path: path.resolve(__dirname, '../dist/locale'),
@ -29,4 +29,4 @@ module.exports = {
} }
}) })
] ]
} };

View file

@ -1,7 +1,8 @@
var path = require('path'); const path = require('path');
var webpack = require('webpack'); const webpack = require('webpack');
var merge = require('webpack-merge'); const merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.base.config.js'); const webpackBaseConfig = require('./webpack.base.config.js');
const CompressionPlugin = require('compression-webpack-plugin');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';
@ -34,6 +35,13 @@ module.exports = merge(webpackBaseConfig, {
compress: { compress: {
warnings: false warnings: false
} }
}),
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css)$/,
threshold: 10240,
minRatio: 0.8
}) })
] ]
}); });

View file

@ -2,12 +2,12 @@
* 用于单元测试 * 用于单元测试
*/ */
var webpack = require('webpack'); const webpack = require('webpack');
var merge = require('webpack-merge'); const merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.base.config.js'); const webpackBaseConfig = require('./webpack.base.config.js');
var webpackConfig = merge(webpackBaseConfig, { const webpackConfig = merge(webpackBaseConfig, {
// use inline sourcemap for karma-sourcemap-loader // use inline sourcemap for karma-sourcemap-loader
devtool: '#inline-source-map', devtool: '#inline-source-map',
plugins: [ plugins: [

31
package-lock.json generated
View file

@ -1,6 +1,6 @@
{ {
"name": "iview", "name": "iview",
"version": "2.3.2", "version": "2.4.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -1887,6 +1887,25 @@
} }
} }
}, },
"compression-webpack-plugin": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.0.0.tgz",
"integrity": "sha512-OPp+tvvMCd8FrJHDLG4v5EpP4Fe5w5uBNXOmc3K7SdBaK1FH+TGwtafG9GLgTI6c2WHIgDFt98T8qXwaXuyRnw==",
"requires": {
"async": "2.4.1",
"webpack-sources": "1.0.1"
},
"dependencies": {
"async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz",
"integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=",
"requires": {
"lodash": "4.17.4"
}
}
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -12302,8 +12321,7 @@
"lodash": { "lodash": {
"version": "4.17.4", "version": "4.17.4",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
"dev": true
}, },
"lodash._baseassign": { "lodash._baseassign": {
"version": "3.2.0", "version": "3.2.0",
@ -14438,14 +14456,12 @@
"source-list-map": { "source-list-map": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
"integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A=="
"dev": true
}, },
"source-map": { "source-map": {
"version": "0.5.6", "version": "0.5.6",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
"dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.4.18", "version": "0.4.18",
@ -16272,7 +16288,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz",
"integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==",
"dev": true,
"requires": { "requires": {
"source-list-map": "2.0.0", "source-list-map": "2.0.0",
"source-map": "0.5.6" "source-map": "0.5.6"

View file

@ -41,6 +41,7 @@
}, },
"dependencies": { "dependencies": {
"async-validator": "^1.8.1", "async-validator": "^1.8.1",
"compression-webpack-plugin": "^1.0.0",
"core-js": "^2.5.0", "core-js": "^2.5.0",
"deepmerge": "^1.5.1", "deepmerge": "^1.5.1",
"element-resize-detector": "^1.1.12", "element-resize-detector": "^1.1.12",