Merge pull request #3098 from Xotic750/enable_sourcemaps

Enable creation of sourcemaps
This commit is contained in:
Aresn 2018-03-06 09:56:08 +08:00 committed by GitHub
commit a0382e2269
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 187 additions and 109 deletions

View file

@ -3,7 +3,7 @@
*/ */
const path = require('path'); const path = require('path');
const webpack = require('webpack'); const webpack = require('webpack');
const package = require('../package.json'); const pkg = require('../package.json');
function resolve (dir) { function resolve (dir) {
return path.join(__dirname, '..', dir); return path.join(__dirname, '..', dir);
@ -20,44 +20,119 @@ module.exports = {
loader: 'vue-loader', loader: 'vue-loader',
options: { options: {
loaders: { loaders: {
css: 'vue-style-loader!css-loader', css: [
less: 'vue-style-loader!css-loader!less-loader' 'vue-style-loader',
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
],
less: [
'vue-style-loader',
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'less-loader',
options: {
sourceMap: true,
},
},
],
}, },
postLoaders: { postLoaders: {
html: 'babel-loader' html: 'babel-loader?sourceMap'
} },
sourceMap: true,
} }
}, },
{ {
test: /\.js$/, test: /\.js$/,
loader: 'babel-loader', exclude: /node_modules/ loader: 'babel-loader',
options: {
sourceMap: true,
},
exclude: /node_modules/,
}, },
{ {
test: /\.css$/, test: /\.css$/,
use: [ loaders: [
'style-loader', {
'css-loader', loader: 'style-loader',
'autoprefixer-loader' options: {
sourceMap: true,
},
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: '\'autoprefixer-loader\'',
},
] ]
}, },
{ {
test: /\.less$/, test: /\.less$/,
use: [ loaders: [
'style-loader', {
'css-loader', loader: 'style-loader',
'less-loader' options: {
sourceMap: true,
},
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'less-loader',
options: {
sourceMap: true,
},
},
] ]
}, },
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ loaders: [
'style-loader', {
'css-loader', loader: 'style-loader',
'sass-loader?sourceMap' options: {
sourceMap: true,
},
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
},
},
] ]
}, },
{ test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'}, {
{ test: /\.(html|tpl)$/, loader: 'html-loader' } test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
loader: 'url-loader?limit=8192'
},
{
test: /\.(html|tpl)$/,
loader: 'html-loader'
}
] ]
}, },
resolve: { resolve: {
@ -70,7 +145,7 @@ module.exports = {
plugins: [ plugins: [
new webpack.optimize.ModuleConcatenationPlugin(), new webpack.optimize.ModuleConcatenationPlugin(),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env.VERSION': `'${package.version}'` 'process.env.VERSION': `'${pkg.version}'`
}), }),
] ]
}; };

View file

@ -12,6 +12,8 @@ const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
module.exports = merge(webpackBaseConfig, { module.exports = merge(webpackBaseConfig, {
devtool: 'eval-source-map',
// 入口 // 入口
entry: { entry: {
main: './examples/main', main: './examples/main',

View file

@ -6,6 +6,8 @@ const webpackBaseConfig = require('./webpack.base.config.js');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';
module.exports = merge(webpackBaseConfig, { module.exports = merge(webpackBaseConfig, {
devtool: 'eval-source-map',
entry: { entry: {
main: './src/index.js' main: './src/index.js'
}, },

View file

@ -4,6 +4,7 @@ const entry = require('./locale');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';
module.exports = { module.exports = {
devtool: 'source-map',
entry, entry,
module: { module: {
rules: [ rules: [
@ -37,9 +38,8 @@ module.exports = {
} }
}), }),
new webpack.optimize.UglifyJsPlugin({ new webpack.optimize.UglifyJsPlugin({
compress: { parallel: true,
warnings: false sourceMap: true,
}
}) })
] ]
}; };

View file

@ -7,6 +7,7 @@ const CompressionPlugin = require('compression-webpack-plugin');
process.env.NODE_ENV = 'production'; process.env.NODE_ENV = 'production';
module.exports = merge(webpackBaseConfig, { module.exports = merge(webpackBaseConfig, {
devtool: 'source-map',
entry: { entry: {
main: './src/index.js' main: './src/index.js'
}, },
@ -32,9 +33,8 @@ module.exports = merge(webpackBaseConfig, {
'process.env.NODE_ENV': '"production"' 'process.env.NODE_ENV': '"production"'
}), }),
new webpack.optimize.UglifyJsPlugin({ new webpack.optimize.UglifyJsPlugin({
compress: { parallel: true,
warnings: false sourceMap: true,
}
}), }),
new CompressionPlugin({ new CompressionPlugin({
asset: '[path].gz[query]', asset: '[path].gz[query]',

View file

@ -8,8 +8,7 @@ const webpackBaseConfig = require('./webpack.base.config.js');
const webpackConfig = merge(webpackBaseConfig, { const webpackConfig = merge(webpackBaseConfig, {
// use inline sourcemap for karma-sourcemap-loader devtool: 'eval-source-map',
devtool: '#inline-source-map',
plugins: [ plugins: [
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { 'process.env': {