Vue2-多入口配置

本文详细介绍如何在Vue项目中配置多入口,包括修改配置文件、利用Webpack进行多页面打包,以及实现不同页面间的独立加载与路由配置。适用于对Vue有一定了解的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

能点进来的,肯定是对单入口了解透彻,对Vue2了解的人了。
话不多说。上干货。

前期准备

1.一个完成能运行的Vue单页项目.(本文以Vue提供的单页模板为例子)
2.若没有,请找度娘。

目录

我的src目录有修改,如下:
图片描述

本例要修改的配置文件如下:
图片描述

config/index.js修改

修改如下:
图片描述

代码如下:
在config/index.js中添加两个字段。
view:是方所有页面的文件夹名称
defaultEntry:存有两个属性,是主页面的html和js的路径(我的主页js入口和html不在同一个文件夹下,这里配一下)

 //多入口配置
  entryPath:['view'],    
  defaultEntry:{
    html:'index',
    js:'./src/index'
  },

utils.js修改

修改如下:
图片描述
代码如下:

//获取多级入口
let glob = require('glob')
exports.getMultiEntry = function (globPath,type) {
  let entries = {}, basename, tmp, pathname;
  glob.sync(globPath).forEach(function (entry) {
    basename = path.basename(entry, path.extname(entry));
    tmp = entry.split('/').splice(-4);
    let pathSrc=tmp[0]+'/'+tmp[1]
    if(tmp[0]==='src'){
      pathSrc=tmp[2]
    }
    pathname = pathSrc+'/'+basename; // 正确输出js和html的路径
    entries[pathname] = entry;
  });
  if(config.defaultEntry&&config.defaultEntry!==''){
    entries['index']=config.defaultEntry[type]+'.'+type
  }
  console.log('entries-----------', entries);
  return entries;
}

webpack.base.conf.js修改

如下:
图片描述

代码:

//多入口配置添加
let entries={}
for(let i=0;i<config.entryPath.length;i++){
  let tempEntry= utils.getMultiEntry('./src/'+config.entryPath[i]+'/**/*.js','js'); // 获得入口js文件
  entries=Object.assign(entries,tempEntry)
}
const chunks = Object.keys(entries)

webpack.dev.conf.js

如下:
图片描述

代码:

//多入口配置添加
let htmlPages = {}
for (let i = 0; i < config.entryPath.length; i++) {
  let tempHtml = utils.getMultiEntry('./src/' + config.entryPath[i] + '/**/*.html', 'html') // 获得入口js文件
  htmlPages = Object.assign(htmlPages, tempHtml);
}
let pagesConfig = []
for (let pagename in htmlPages) {
  const pageCon = {
    filename: pagename+'.html',
    template: htmlPages[pagename],
    chunks: [pagename, 'vendors', 'manifest'], // 每个html引用的js模块, 由此看出html和js名字要相同
    inject: true
  }
  pagesConfig.push(new HtmlWebpackPlugin(pageCon))
}

注意,别忘了隐藏源文件的new HtmlWebpackPlugin一段代码。
在plugins数组后面接上一句:.concat(pagesConfig)
图片描述

webpack.prod.conf.js修改

修改如下:
图片描述
代码:

//多入口配置添加
let htmlPages = {}
for (let i = 0; i < config.entryPath.length; i++) {
  let tempHtml = utils.getMultiEntry('./src/' + config.entryPath[i] + '/**/*.html', 'html') // 获得入口html文件
  htmlPages = Object.assign(htmlPages, tempHtml);
}
console.log(htmlPages)
for (let pagename in htmlPages) {
  const pageCon = {
    filename: pagename +'.html',
    template: htmlPages[pagename],// 模板路径
    inject: true,// js插入位置
    chunks: ["vendor", "manifest",pagename],// 每个html引用的js模块,也可以在这里加上vendor等公用模块
    chunksSortMode: 'dependency',
    hash:true
  }
  console.log(pageCon)
  webpackConfig.plugins.push(new HtmlWebpackPlugin(pageCon))
}

别忘了隐藏这段代码:
图片描述

好啦完成了

npm run build
npm run dev
进入浏览器打开地址
http://localhost:8080/first (first页面)
http://localhost:8080/first/#/login (first页面子路由1)
http://localhost:8080/first/#/regist (first页面子路由2)
http://localhost:8080/second (second页面)

http://localhost:8080/ (主页)

### 如何配置 `vue2-ace-editor` 使用方法及教程 #### 安装依赖包 为了使用 `vue2-ace-editor`,需要先通过 npm 或 yarn 来安装此库以及其必要的 peer dependencies。对于基于 Vue 2 的项目而言,执行如下命令来获取所需资源: ```bash npm install vue2-ace-editor ace-builds --save ``` 或者如果更倾向于使用 Yarn,则可以运行下面这条语句完成相同的操作: ```bash yarn add vue2-ace-editor ace-builds ``` #### 导入编辑器组件与主题文件 一旦完成了上述步骤之后,就可以继续向应用程序里引入 Ace Editor 组件及其默认的主题样式表了。 在项目的入口 JavaScript 文件(通常是 main.js),加入以下代码片段以注册全局组件并加载基础 CSS 样式[^1]: ```javascript import Vue from 'vue' import { mapState } from 'vuex'; // Import the component and its style. import VueAceEditor from "vue2-ace-editor"; import "ace-builds/src-noconflict/theme-github"; // 加载 GitHub 主题作为例子 import "ace-builds/src-noconflict/mode-javascript"; // 支持 JavaScript 编辑模式 Vue.use(VueAceEditor); ``` #### 配置编辑器选项 当一切准备就绪以后,便可以在任何地方利用 `<vue-ace-editor>` 自定义标签创建一个新的实例,并传递给它一系列属性来自定义行为和外观特性。比如设置初始值、指定编程语言类型或是调整界面布局等等。 ```html <template> <div id="app"> <!-- 创建一个简单的 ACE 编辑框 --> <vue-ace-editor v-model="content" @init="editorInit" lang="java" theme="github" width="auto" height="300px"></vue-ace-editor> <button @click="updateCode">更新代码</button> </div> </template> <script> export default { data() { return { content: '' } }, methods:{ editorInit(editor){ console.log('editor is initialized', editor) }, updateCode(){ this.content = '// 这是一些新的 Java 代码\npublic class HelloWorld {\n\tpublic static void main(String[] args){\n\t\tSystem.out.println("Hello, world!");\n}\n}' } } } </script> ``` 以上就是有关于如何配置 `vue2-ace-editor` 的基本指南,涵盖了从环境搭建到具体使用的全过程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值