update
This commit is contained in:
parent
40a7626acb
commit
aefd8bb36a
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"postcss-import": {},
|
|
||||||
"postcss-url": {},
|
|
||||||
// to edit target browsers: use "browserslist" field in package.json
|
// to edit target browsers: use "browserslist" field in package.json
|
||||||
"autoprefixer": {}
|
"autoprefixer": {}
|
||||||
}
|
}
|
||||||
|
|
26
package.json
26
package.json
|
@ -37,7 +37,6 @@
|
||||||
"axios": "0.18.0",
|
"axios": "0.18.0",
|
||||||
"clipboard": "1.7.1",
|
"clipboard": "1.7.1",
|
||||||
"codemirror": "5.39.2",
|
"codemirror": "5.39.2",
|
||||||
"connect": "3.6.6",
|
|
||||||
"driver.js": "0.5.2",
|
"driver.js": "0.5.2",
|
||||||
"dropzone": "5.2.0",
|
"dropzone": "5.2.0",
|
||||||
"echarts": "4.1.0",
|
"echarts": "4.1.0",
|
||||||
|
@ -49,7 +48,7 @@
|
||||||
"jszip": "3.1.5",
|
"jszip": "3.1.5",
|
||||||
"normalize.css": "7.0.0",
|
"normalize.css": "7.0.0",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"path-to-regexp": "^2.4.0",
|
"path-to-regexp": "2.4.0",
|
||||||
"screenfull": "3.3.3",
|
"screenfull": "3.3.3",
|
||||||
"showdown": "1.8.6",
|
"showdown": "1.8.6",
|
||||||
"simplemde": "1.11.2",
|
"simplemde": "1.11.2",
|
||||||
|
@ -64,30 +63,21 @@
|
||||||
"xlsx": "^0.11.16"
|
"xlsx": "^0.11.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.0.0",
|
|
||||||
"@babel/register": "7.0.0",
|
"@babel/register": "7.0.0",
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "0.1.0",
|
"@vue/cli-plugin-babel": "3.0.5",
|
||||||
"@vue/cli-plugin-babel": "^3.0.5",
|
"@vue/cli-plugin-eslint": "3.0.5",
|
||||||
"@vue/cli-plugin-eslint": "^3.0.5",
|
"@vue/cli-plugin-unit-jest": "3.0.5",
|
||||||
"@vue/cli-plugin-unit-mocha": "^3.0.5",
|
"@vue/cli-service": "3.0.5",
|
||||||
"@vue/cli-service": "^3.0.5",
|
"@vue/test-utils": "1.0.0-beta.25",
|
||||||
"@vue/eslint-config-standard": "^3.0.5",
|
"babel-core": "7.0.0-bridge.0",
|
||||||
"@vue/test-utils": "^1.0.0-beta.25",
|
"babel-jest": "23.6.0",
|
||||||
"autoprefixer": "8.5.0",
|
|
||||||
"babel-plugin-istanbul": "^4.1.6",
|
|
||||||
"husky": "0.14.3",
|
"husky": "0.14.3",
|
||||||
"lint-staged": "7.2.2",
|
"lint-staged": "7.2.2",
|
||||||
"mockjs": "1.0.1-beta3",
|
"mockjs": "1.0.1-beta3",
|
||||||
"node-notifier": "5.2.1",
|
|
||||||
"node-sass": "^4.7.2",
|
"node-sass": "^4.7.2",
|
||||||
"optimize-css-assets-webpack-plugin": "5.0.0",
|
|
||||||
"postcss-import": "11.1.0",
|
|
||||||
"postcss-loader": "2.1.6",
|
|
||||||
"postcss-url": "7.3.2",
|
|
||||||
"sass-loader": "7.0.3",
|
"sass-loader": "7.0.3",
|
||||||
"script-ext-html-webpack-plugin": "2.0.1",
|
"script-ext-html-webpack-plugin": "2.0.1",
|
||||||
"script-loader": "0.7.2",
|
"script-loader": "0.7.2",
|
||||||
"shelljs": "0.8.2",
|
|
||||||
"svg-sprite-loader": "3.8.0",
|
"svg-sprite-loader": "3.8.0",
|
||||||
"svgo": "1.0.5",
|
"svgo": "1.0.5",
|
||||||
"vue-template-compiler": "2.5.17"
|
"vue-template-compiler": "2.5.17"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
<title>vue-element-admin</title>
|
<title><%= webpackConfig.name %></title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script src="<%= BASE_URL %>static/tinymce4.7.5/tinymce.min.js"></script>
|
<script src="<%= BASE_URL %>static/tinymce4.7.5/tinymce.min.js"></script>
|
||||||
|
|
100
vue.config.js
100
vue.config.js
|
@ -1,18 +1,37 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
require('@babel/register')
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const bodyParser = require('body-parser')
|
|
||||||
|
|
||||||
function resolve(dir) {
|
function resolve(dir) {
|
||||||
return path.join(__dirname, dir)
|
return path.join(__dirname, dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const port = 9527 // TODO: change to Settings
|
||||||
|
|
||||||
|
// Explanation of each configuration item You can find it in https://cli.vuejs.org/config/
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
/**
|
||||||
|
* You can set by yourself according to actual condition
|
||||||
|
* You will need to set this if you plan to deploy your site under a sub path,
|
||||||
|
* for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
|
||||||
|
* then assetsPublicPath should be set to "/bar/".
|
||||||
|
* In most cases please use '/' !!!
|
||||||
|
* Detail https://cli.vuejs.org/config/#baseurl
|
||||||
|
*/
|
||||||
|
baseUrl: '/',
|
||||||
|
outputDir: 'dist',
|
||||||
|
assetsDir: 'static',
|
||||||
|
lintOnSave: process.env.NODE_ENV !== 'production',
|
||||||
|
productionSourceMap: false,
|
||||||
devServer: {
|
devServer: {
|
||||||
|
port: port,
|
||||||
open: true,
|
open: true,
|
||||||
|
overlay: {
|
||||||
|
warnings: false,
|
||||||
|
errors: true
|
||||||
|
},
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:8080/mock',
|
target: `http://localhost:${port}/mock`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/api': ''
|
'^/api': ''
|
||||||
|
@ -20,6 +39,9 @@ module.exports = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
after(app) {
|
after(app) {
|
||||||
|
console.log('apple')
|
||||||
|
const bodyParser = require('body-parser')
|
||||||
|
require('@babel/register')
|
||||||
// parse app.body
|
// parse app.body
|
||||||
// http://expressjs.com/en/4x/api.html#req.body
|
// http://expressjs.com/en/4x/api.html#req.body
|
||||||
app.use(bodyParser.json())
|
app.use(bodyParser.json())
|
||||||
|
@ -33,28 +55,74 @@ module.exports = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
|
// We provide the app's title in Webpack's name field, so that
|
||||||
|
// it can be accessed in index.html to inject the correct title.
|
||||||
|
name: 'vue-element-admin', // TODO: change to Settings
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'$@': resolve('src/components')
|
'@': resolve('src')
|
||||||
}
|
}
|
||||||
},
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
test: /\.svg$/,
|
|
||||||
loader: 'svg-sprite-loader',
|
|
||||||
include: [resolve('src/icons')],
|
|
||||||
options: {
|
|
||||||
symbolId: 'icon-[name]'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chainWebpack(config) {
|
chainWebpack(config) {
|
||||||
|
config.plugins.delete('preload')// TODO: need test
|
||||||
|
config.plugins.delete('prefetch')// TODO: need test
|
||||||
config.module
|
config.module
|
||||||
.rule('svg')
|
.rule('svg')
|
||||||
.exclude.add(resolve('src/icons'))
|
.exclude.add(resolve('src/icons'))
|
||||||
.end()
|
.end()
|
||||||
|
config.module
|
||||||
|
.rule('icons')
|
||||||
|
.test(/\.svg$/)
|
||||||
|
.include.add(resolve('src/icons'))
|
||||||
|
.end()
|
||||||
|
.use('svg-sprite-loader')
|
||||||
|
.loader('svg-sprite-loader')
|
||||||
|
.options({
|
||||||
|
symbolId: 'icon-[name]'
|
||||||
|
})
|
||||||
|
.end()
|
||||||
|
|
||||||
|
config
|
||||||
|
.when(process.env.NODE_ENV === 'development',
|
||||||
|
config => config.devtool('cheap-source-map')
|
||||||
|
)
|
||||||
|
|
||||||
|
config
|
||||||
|
.when(process.env.NODE_ENV !== 'development',
|
||||||
|
config => {
|
||||||
|
config
|
||||||
|
.plugin('ScriptExtHtmlWebpackPlugin')
|
||||||
|
.use('script-ext-html-webpack-plugin', [{
|
||||||
|
// `runtime` must same as runtimeChunk name. default is `runtime`
|
||||||
|
inline: /runtime\..*\.js$/
|
||||||
|
}])
|
||||||
|
config
|
||||||
|
.optimization.splitChunks({
|
||||||
|
chunks: 'all',
|
||||||
|
cacheGroups: {
|
||||||
|
libs: {
|
||||||
|
name: 'chunk-libs',
|
||||||
|
test: /[\\/]node_modules[\\/]/,
|
||||||
|
priority: 10,
|
||||||
|
chunks: 'initial' // 只打包初始时依赖的第三方
|
||||||
|
},
|
||||||
|
elementUI: {
|
||||||
|
name: 'chunk-elementUI', // 单独将 elementUI 拆包
|
||||||
|
priority: 20, // 权重要大于 libs 和 app 不然会被打包进 libs 或者 app
|
||||||
|
test: /[\\/]node_modules[\\/]element-ui[\\/]/
|
||||||
|
},
|
||||||
|
commons: {
|
||||||
|
name: 'chunk-commons',
|
||||||
|
test: resolve('src/components'), // 可自定义拓展你的规则
|
||||||
|
minChunks: 3, // 最小公用次数
|
||||||
|
priority: 5,
|
||||||
|
reuseExistingChunk: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
config.optimization.runtimeChunk('single')
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue