上一篇我们稍微提到了webpack.config.js。今天主要来说下如何配置多入口,多出口

我们之前写到的webpack.config.js,具体代码如下:

module.exports = {
mode: 'development',
//入口
entry: __dirname + '/src/entry.js',
//出口
output: {
path:__dirname + '/dist',
filename: 'bundle.js',
}
}

上面的entry 和 output 就是单一的入口和出口。

下面我们创建一个多入口,多出口的实例。

准备工作如下:

1. 新建文件夹page,并在该文件夹下面创建 index.html 和 signup.html 2个文件

index.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>index</title>
</head>
<body>
<div id="title"></div>
<script src="../src/base.js"></script>
<script src="../src/index.js"></script>
</body>
</html>

index.html 引用了base.js 和 index.js。js文件我们等会创建。

signup.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>signup</title>
</head>
<body>
<script src="../src/base.js"></script>
<script src="../src/signup.js"></script>
</body>
</html>

signup.html 引用了base.js 和 signup.js。

2. src文件夹下面创建base.js,  index.js, signup.js 3个js 文件:

base.js:

var open=true;
export {open};

index.js:

import {open} from './base';
if(open){
document.body.innerHTML=`<a href="signup.html">注册</a>`
}

signup.js:

import {open} from './base';

if(open){
document.body.innerHTML=`<h1>Hello World!</h1>`
}else{
document.body.innerHTML=`<h1>暂不开放注册</h1>`
}

从上面我们得知 index.html 页面引用了base.js 和 index.js ,

signup.html 引用了base.js 和 signup.js。

我们通过webpack如何分别打包js文件呢?这里我们通过 webpack 的多入口 和 多出口配置就能达到该目的了。

3. 配置多入口,多出口:

module.exports = {
mode: 'development',
entry: {
index:__dirname + '/src/index.js',
signup:__dirname + '/src/signup.js',
}, output: {
path:__dirname + '/dist',
filename: '[name].bundle.js',
}
}

跟单入口,单出口的文件相比entry现在是一个对象了,output 的 filename 多了一个 [name].

最后执行打包命令,可以看到 dist 目录下面生成了 index.bundle.js 和 signup.bundle.js 。

所以这里的 [name] 等同于 entry 定义的键名

执行结果如下:

文件打包完成之后,记得把你html 引用的js 路径改成你打包后的js路径。如下图:

index.html:

signup.html:

感谢阅读~~

webpack3--配置多入口和多出口的更多相关文章

  1. webpack快速入门——配置文件:入口和出口,多入口、多出口配置

    1.在根目录新建一个webpack.config.js文件,然后开始配置: const path = require('path'); module.exports={ //入口文件的配置项 entr ...

  2. webpack配置(入口出口)

    const path=require('path'); //是node.js的path模块 //单入口,单出口 module.exports={ // 入口文件 entry:{ entry:'./sr ...

  3. webpack4.x配置详解,多页面,多入口,多出口,新特性新坑!!

    花了差不多一天多的时间,重新撸了一遍webpack4.x的常用配置. 基本上常用的配置都熟悉了一遍,总体上来讲,为了对parcel进行反击,webpack从4.x开始,正在朝着尽可能的简化配置文件的方 ...

  4. vue-cli配置多入口多出口,实现一个项目两个访问地址,区分不同上线环境

    最近工作中需要把项目分割成两块,一块需要跑在微信中,通过微信jdk获取用户资料默认登录,一部分需要给原生app做webview的内嵌页面,当然这部分内容是不跑在微信中的. 所以我想到了把项目分成两部分 ...

  5. webpack 配置多入口文件,输出多出口文件

    const path = require('path') module.exports = { // 入口文件的配置项 entry: { // 入口文件 entry: './src/entry.js' ...

  6. vue项目配置多入口多出口【转载】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/localhost_1314/article ...

  7. TP5配置隐藏入口index.php文件

    隐藏的index.php PS:这里说的入口文件指的是公共/ index.php文件,配置文件就在这个目录下 可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则 ...

  8. webpack4 单入口文件配置 多入口文件配置 以及常用的配置

    单入口文件配置 webpack.config.js const path = require('path'); const HtmlWebpackPlugin = require('html-webp ...

  9. webpack3配置字体图标和打包相关问题

    webpak配置字体图标有两种方式 一.将字体图标和css打包到同一个文件中. 1.首先需要安装url-loader npm install --save-dev url-loader 2.相关配置如 ...

随机推荐

  1. IOS App 后台运行

    使用block的另一个用处是可以让程序在后台较长久的运行.在以前,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作.但是应用可以调用UIApplication的beg ...

  2. 【小白的CFD之旅】18 控制方程基础

    忙碌了一个学期终于放暑假了,小白心情很愉快.然而想起CFD教材上的那些点缀着各种让人眼花缭乱符号的数学公式,整个人就不好了.不过这些事情小白也不好意思去麻烦师兄师姐们,还得靠自己去摸索.正好趁着暑假把 ...

  3. Java 的双重分发与 Visitor 模式

    双重分发(Double Dispatch) 什么是双重分发? 谈起面向对象的程序设计时,常说起的面向对象的「多态」,其中关于多态,经常有一个说法是「父类引用指向子类对象」. 这种父类的引用指向子类对象 ...

  4. 每日英语:A Buying Guide to Air-Pollution Masks

    Blue skies were finally visible in the capital on Thursday after the region suffered fromseven strai ...

  5. Python:sitecustomize 和 usercustomize

    Python提供了两个hook用于定制Python:sitecustomize 和 usercustomize,首先需要查看site包目录, 然后就可以在此目录下创建usercustomize.py文 ...

  6. 18、利用 Windows Device Portal 获取用户闪退 dump

    当 uwp在用户的电脑上发生了闪退,并且由于用户距离较远,不便于使用 VS进行远程 Debug,更不可能让用户安装 Visual Studio进行分析的时候,在用户的电脑上收集 dump 是一种有效的 ...

  7. 【Acm】算法之美—Fire Net

    题目概述:Fire Net Suppose  that we have a square city with straight streets. A map of a city is a square ...

  8. MyBatis SqlSessionFactory的几种常见创建方式

    原文链接:https://blog.csdn.net/jimolangge123/article/details/49228255 MyBatis框架主要是围绕着SqlSessionFactory这个 ...

  9. linux清理Java环境

    1.清理Java环境rm -f /usr/bin/javarm -f /etc/alternatives/java rm -f /usr/bin/javacrm -f /etc/alternative ...

  10. Html table 细边框

    Html table 细边框 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...