<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        在vue中使用cli如何實現重構多頁面腳手架

        來源:懂視網 責編:小采 時間:2020-11-27 19:38:44
        文檔

        在vue中使用cli如何實現重構多頁面腳手架

        在vue中使用cli如何實現重構多頁面腳手架:本文分步驟給大家介紹了基于vue cli重構多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下官方提供的項目生成工具vue-cli沒有對多頁面webApp的支持,但是在實際的項目中,我們需要這樣的腳手架,參考了很多大牛的方法,這里提供了一種我的單頁
        推薦度:
        導讀在vue中使用cli如何實現重構多頁面腳手架:本文分步驟給大家介紹了基于vue cli重構多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下官方提供的項目生成工具vue-cli沒有對多頁面webApp的支持,但是在實際的項目中,我們需要這樣的腳手架,參考了很多大牛的方法,這里提供了一種我的單頁

        本文分步驟給大家介紹了基于vue cli重構多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下

        官方提供的項目生成工具vue-cli沒有對多頁面webApp的支持,但是在實際的項目中,我們需要這樣的腳手架,參考了很多大牛的方法,這里提供了一種我的單頁面腳手架轉換為多頁面腳手架的方案,供大家參考。不好的地方也請大家指正。

        準備

        使用vue-cli生成一個你需要的單頁面項目腳手架,然后我們就要開始我們的改裝工程了。

        重構過程

        步驟一 改變目錄結構

      1. step1 在src目錄下面新建views文件夾,然后再views文件夾下新建index文件夾

      2. step2 將src目錄下的main.js和App.vue移動到step1中的index文件夾下,并將main.js重命名為index.js

      3. step3 將src目錄下的router文件夾移動到step1中的index文件夾下,如果不使用router可以再index.js中注釋掉,我沒有使用,因為我的每個頁面不是單頁面的應用,不必要使用路由功能

      4. step4 將根目錄下的index.html文件移動到step1中的index文件夾下

      5. 步驟二 修改build下的配置文件

        在生產環境下會分頁面打包獨有js文件,并抽取公共js,不會什么都打包成一坨。打包后文件目錄結構也是比較清晰地。一下所有修改都在build文件夾下

        step1 修改utils.js,增加兩個函數,一個用來獲取頁面多入口,一個用來輸入打包后的頁面,并注入js:

        var glob = require('glob')
        var HtmlWebpackPlugin = require('html-webpack-plugin')
        var PAGE_PATH = path.resolve(__dirname, '../src/views')
        var merge = require('webpack-merge')
        //多入口配置
        //獲取views文件夾下,每個頁面下的index.js作為頁面入口,故每個頁面下都必須有index.js
        exports.entries = function() {
         var entryFiles = glob.sync(PAGE_PATH + '/*/index.js')
         var map = {}, tmp = [], pathname = '';
         entryFiles.forEach((filePath) => {
         var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'))
         tmp = filePath.split('/').splice(-4)
         map[tmp[2] + '/' + filename] = filePath
         })
         return map
        }
        //多頁面
        輸出配置 //讀取views文件夾下的對應每個頁面的html后綴文件,然后放入數組中 //如果想要更深的定制或者修改,建議大家看一下CommonsChunkPlugin //推薦一個基礎的 https://segmentfault.com/q/1010000009070061 exports.htmlPlugin = function() { let entryHtml = glob.sync(PAGE_PATH + '/*/*.html') let arr = [] entryHtml.forEach((filePath) => { let jsPath = '', tmp = []; let filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.')) tmp = filePath.split('/').splice(-4) jsPath = tmp[2] + '/' + 'index' let conf = { template: filePath, filename: filename + '.html', chunks: ['manifest', 'vendors', jsPath], inject: true } if (process.env.NODE_ENV === 'production') { conf = merge(conf, { minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true }, chunksSortMode: 'dependency' }) } arr.push(new HtmlWebpackPlugin(conf)) }) return arr } step2 修改webpack.base.conf.js文件配置的入口 // entry: { // app: './src/main.js' // }, entry: utils.entries(), step3 修改webpack.dev.conf.js文件的打包方法 找到下面的代碼,將其注釋掉: new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }),

        在plugins這個屬性值的后面加上我們上面的方法,下面是代碼片段:

        // new HtmlWebpackPlugin({
         // filename: 'index.html',
         // template: 'index.html',
         // inject: true
         // }),
         new FriendlyErrorsPlugin()
         ].concat(utils.htmlPlugin())
        step4 修改webpack.prod.conf.js 找到下面的代碼,注釋掉:
        new HtmlWebpackPlugin({
        filename: config.build.index,
        template: 'index.html',
        inject: true,
        minify: {
         removeComments: true,
         collapseWhitespace: true,
         removeAttributeQuotes: true
         // more options:
         // https://github.com/kangax/html-minifier#options-quick-reference
        },
        // necessary to consistently work with multiple chunks via CommonsChunkPlugin
        chunksSortMode: 'dependency'
        }),

        在plugins這個屬性值的后面加上我們上面的方法,下面是代碼片段:

        new CopyWebpackPlugin([{
         from: path.resolve(__dirname, '../static'),
         to: config.build.assetsSubDirectory,
         ignore: ['.*']
         }])
         ].concat(utils.htmlPlugin())

        配置完成。正常啟動項目即可。

        上面是我整理給大家的,希望今后會對大家有幫助。

        相關文章:

        在jQuery中實現碰到邊緣反彈的動畫效果該如何做?

        如何解決Vue不能檢測數組或對象變動方面問題?

        在vue中將對象新增的屬性添加到檢測序列的方法有哪些?

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        在vue中使用cli如何實現重構多頁面腳手架

        在vue中使用cli如何實現重構多頁面腳手架:本文分步驟給大家介紹了基于vue cli重構多頁面腳手架過程,非常不錯,具有參考借鑒價值,需要的朋友參考下官方提供的項目生成工具vue-cli沒有對多頁面webApp的支持,但是在實際的項目中,我們需要這樣的腳手架,參考了很多大牛的方法,這里提供了一種我的單頁
        推薦度:
        標簽: VUE 怎么 如何用vue
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 在线免费观看伊人三级电影| 亚洲视频免费在线看| 激情无码亚洲一区二区三区| 男女超爽刺激视频免费播放| 亚洲一区二区三区在线视频| 亚洲av永久中文无码精品| 亚洲一级毛片免费看| 亚洲国产成人无码AV在线| 色妞WWW精品免费视频| 国产成人亚洲精品| 久久99九九国产免费看小说| 亚洲成年网站在线观看| 永久免费bbbbbb视频| 色欲aⅴ亚洲情无码AV| 精品国产亚洲男女在线线电影 | 亚洲av无码久久忘忧草| 真人做A免费观看| 亚洲人成电影网站色www| 最近免费中文字幕大全视频| 国产成人亚洲精品青草天美| 亚洲网站免费观看| 日韩免费在线中文字幕| 中国人xxxxx69免费视频| 亚洲乱码中文字幕小综合| 久久精品免费一区二区三区| 91久久亚洲国产成人精品性色| 91手机看片国产永久免费| MM1313亚洲国产精品| 国产精品亚洲视频| 精品无码人妻一区二区免费蜜桃| 日韩亚洲人成在线| 亚洲精品第一国产综合境外资源 | 亚洲欧美日韩中文二区| 亚洲av午夜精品一区二区三区| a级成人毛片免费视频高清| 亚洲一卡二卡三卡| 亚洲国产综合精品一区在线播放| 久草视频在线免费看| 亚洲成av人无码亚洲成av人| 久久亚洲精品无码播放| 午夜国产精品免费观看|