vue-cli常用設(shè)置總結(jié)
基于vue-cli做了好幾個(gè)項(xiàng)目了,想把一些自己的常用設(shè)置寫出來,磨了好久,一看vue-cli3.0都快出來了,不能再磨了。。
路徑相關(guān)
css內(nèi)引用的資源
build -> utils.js // generate loader string to be used with extract text plugin function generateLoaders (loader, loaderOptions) { //less // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, publicPath: '../../', //注意: 此處根據(jù)路徑, 自動(dòng)更改 fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } }
本地訪問
config -> index.js module.exports = { build: { //less //assetsPublicPath: '/', assetsPublicPath: './', //less }, //less }
調(diào)試相關(guān)
內(nèi)網(wǎng)訪問
config -> index.js module.exports = { //less dev: { //less port: process.env.PORT || 8080,//可改端口 host:'192.168.0.105',//不是8080端口可能需要指定host為本機(jī)IP } }
跨域代理
config -> index.js module.exports = { //less dev: { //less proxyTable: { '/AppHome': { target: 'http://192.168.0.211:2334',//接口域名 changeOrigin: true,//是否跨域 pathRewrite: { '^/AppHome': '/AppHome'//需要rewrite重寫 } } }, } } config -> dev.env.js module.exports = merge(prodEnv, { NODE_ENV: '"development"', API_HOST: '"AppHome/"' }) config -> prod.env.js module.exports = { NODE_ENV: '"production"', API_HOST: '"http://xxx.xxx.com/AppHome/"' //生產(chǎn)環(huán)境改為絕對(duì)地址,免得路徑錯(cuò)了 } //調(diào)用 this.$http .post(process.env.API_HOST + "GetApproveTypeList", { ID: 0 }) .then(data => { let $data = data.data; if ($data.IsSuccess) { this.list.push(...$data.Model); } });
路由加載切換
異步加載可以加快首屏加載速度,但是在開發(fā)階段會(huì)導(dǎo)致熱加載變慢,所以根據(jù)NODE_ENV來判斷,開發(fā)環(huán)境不使用異步
let _import if (process.env.NODE_ENV === 'development') { _import = file => require('@/components/' + file + '.vue').default } if (process.env.NODE_ENV === 'production') { _import = file => () => import('@/components/' + file + '.vue') } routes: [ { path: '/', name: 'Index', component: _import('Approve/Index'), meta: { level: 1 } }, ]
打包
dll打包
1、在build目錄新建webpack.dll.conf.js
var path = require("path"); var webpack = require("webpack"); module.exports = { // 你想要打包的模塊的數(shù)組 entry: { vendor: ['vue/dist/vue.esm.js', //有些資源需要直接指定js,否則會(huì)重復(fù)打包 'vuex', 'axios', 'vue-router' ] }, output: { path: path.join(__dirname, '../static/js'), // 打包后文件輸出的位置 filename: '[name].dll.js', library: '[name]_library' // vendor.dll.js中暴露出的全局變量名。 }, plugins: [ new webpack.DllPlugin({ path: path.join(__dirname, '..', '[name]-manifest.json'), name: '[name]_library', context: __dirname }), // 壓縮打包的文件 new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false } }) ] };
2、在build目錄下的webpack.prod.conf.js添加新插件
const webpackConfig = merge(baseWebpackConfig, { //less plugins: [ //less new webpack.DllReferencePlugin({ context: __dirname, manifest: require('../vendor-manifest.json') }) ] })
3、在項(xiàng)目根目錄下的index.html內(nèi)添加dll.js引用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>title</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="app"></div> <!-- built files will be auto injected --> <script src="./static/js/vendor.dll.js"></script> </body> </html>
4、在項(xiàng)目根目錄下的package.json內(nèi)添加dll命令(順便給build命令添加report),運(yùn)行一次生成dll.js
"scripts": { "dev": "node build/dev-server.js", "start": "npm run dev", "build": "node build/build.js --report", "dll": "webpack --config build//webpack.dll.conf.js" }
關(guān)閉SourceMap
config -> index.js module.exports = { //less build: { //less productionSourceMap: false, }, }
總結(jié)
以上所述是小編給大家介紹的vue-cli常用設(shè)置總結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vuex直接修改state、commit和dispatch修改state的用法及區(qū)別說明
這篇文章主要介紹了vuex直接修改state、commit和dispatch修改state的用法及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Vue極簡(jiǎn)生成器?Vuepress的實(shí)現(xiàn)
本文主要介紹了Vue極簡(jiǎn)生成器?Vuepress的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>2022-06-06解決vue admin element noCache設(shè)置無效的問題
今天小編就為大家分享一篇解決vue admin element noCache設(shè)置無效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法
今天小編就為大家分享一篇vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue element實(shí)現(xiàn)表格合并行數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了vue element實(shí)現(xiàn)表格合并行數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11