vue專案多頁面入口配置

TaylorSwiftTayolr發表於2019-01-07
做後臺管理專案時,根據vue,element官網教程可搭建一個簡易的專案結構,但是這個搭建的專案結構預設是單頁應用的配置,如果我想脫離這個container佈局容器,實現login頁面無外層容器、頂欄選單、側邊欄選單,則需另外配置多頁面入口配置。具體實現如下:
  • 一、專案目錄更改
1、重新命名並放入common資料夾下
App.vue =>common/ index.vue  
Main.js => common/index.js複製程式碼

2、增加login.js,login.vue ,在全域性目錄下增加login.html

vue專案多頁面入口配置

  • 二、改配置

1、webpack.base.conf.js

vue專案多頁面入口配置

entry: {
  index: './src/common/index.js',
  login: './src/common/login.js',
},複製程式碼

2. webpack.dev.conf.js

vue專案多頁面入口配置vue專案多頁面入口配置

new HtmlWebpackPlugin({
  filename: 'index.html',
  template: 'index.html',
  inject: true,
  chunks: ['index']
}),
new HtmlWebpackPlugin({
  filename: 'login.html',
  template: 'login.html',
  inject: true,
  chunks: ['login']
}),複製程式碼

3.webpack.prod.conf.js

vue專案多頁面入口配置vue專案多頁面入口配置

plugins:[new HtmlWebpackPlugin({
  filename: process.env.NODE_ENV === 'testing'
    ? 'index.html'
    : 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',
  chunks: ['manifest','vendor','index']
}),
new HtmlWebpackPlugin({
  filename: config.build.login,
  template: 'login.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',
  chunks: ['manifest','vendor','login']
})],複製程式碼

vue專案多頁面入口配置

vue專案多頁面入口配置由app改為index

4.構建配置更改、

vue專案多頁面入口配置

vue專案多頁面入口配置Build下加入login

build: { 
  // Template for index.html
  index: path.resolve(__dirname, '../dist/index.html'),
  login: path.resolve(__dirname, '../dist/login.html'),
}複製程式碼

完成了!!

  • 三、結果

頁面效果圖,現在做成多頁面入口後,login頁面不再被渲染到content中,則可以實現如下效果。

vue專案多頁面入口配置

  • 四、相應連結

login相關程式碼連結

整個專案相關程式碼連結





相關文章