zoukankan      html  css  js  c++  java
  • vue多页面项目配置

    一直以来更多的是进行单页面开发。但在与其他同行的交流中,发现多页面项目也是业务的一种需求,趁着今天有时间,今天搞了一下。

    多页面的配置,自然也可以根据路由的mode分为hash和history模式。

    先说本人更熟悉的hash模式。

    一,多页面要有多个入口

    默认使用vue-cli 2初始化的项目,需要修改webpack的entry参数,修改两个入口,如下

    // 原来
      entry: {
        app: './src/main.js'
      },
      // 修改后
      entry: {
        index: './src/index/main.js',
        testp:'./src/testp/main.js'
      }
    

    二,利用HtmlWebpackPlugin插件配置两个html文件。

    // 文件1
        new HtmlWebpackPlugin({
          filename: 'index.html',
          template: './index.html',
          chunks: ["index"],
          minify: {
            removeComment: true,
            collapseWhitespace: true
          },
          inject: true
        }),
        // 文件2
        new HtmlWebpackPlugin({
          filename: 'testp.html',
          template: './testp.html',
          chunks: ["testp"],
          minify: {
            removeComment: true,
            collapseWhitespace: true
          },
          inject: true
        })
    

    当然需要创建两个html,即index.html和testp.html。

    三,改写配置文件webpack.dev.conf.js

    devServer: {
        clientLogLevel: 'warning',
        historyApiFallback: {
          rewrites: [
            // { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
            { from: //testp/, to: path.posix.join(config.dev.assetsPublicPath, 'testp.html') },
          ],
        },
    ………………
    

    这个是核心的。

    最后hash模式下访问需要类似这样访问http://localhost:8080/testp/#/。

    至于mode为history模式,在开发环境下基本一致,除了访问方式没有#。另外就是多页面的hash模式在生产环境下也需要后端配置的。

    后续

    如果是vue-cli3的项目,多页面配置使用的是参数pages,类似下面这种形式

    pages: {
        ui: {
          // page 的入口
          entry: "src/views/index/main.js",
          // 模板来源
          template: "public/index.html",
          // 在 dist/index.html 的输出
          filename: "index.html",
          // 当使用 title 选项时,
          // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
          title: "Index Page",
          // 在这个页面中包含的块,默认情况下会包含
          // 提取出来的通用 chunk 和 vendor chunk。
          chunks: ["chunk-vendors", "chunk-common", "ui"]
        },
        hh: {
          // page 的入口
          entry: "src/views/ui/main.js",
          // 模板来源
          template: "public/ui.html",
          // 在 dist/index.html 的输出
          filename: "ui.html",
          // 当使用 title 选项时,
          // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
          title: "Index Page",
          // 在这个页面中包含的块,默认情况下会包含
          // 提取出来的通用 chunk 和 vendor chunk。
          chunks: ["chunk-vendors", "chunk-common", "hh"]
        },
    ……………………
    

      

  • 相关阅读:
    Oracle函数列表速查
    Oreilly.Oracle.PL.SQL.Language.Pocket.Reference.2nd.Edition.eBookLiB
    SAP 查询跟踪监控,sql 执行计划
    删除IDOC
    Oracle可变参数的优化(转)
    ORACLE用户连接的管理
    批量处理change pointer 生成IDOC
    设置SAP后台的显示和修改
    如何增加SAP_ALL的权限
    BizTalk开发小技巧分拆和组装消息实例
  • 原文地址:https://www.cnblogs.com/zhensg123/p/12774263.html
Copyright © 2011-2022 走看看