Vue之webpack的entry和output

时间:2022-07-07 12:34:32

一、文件结构

Vue之webpack的entry和output

二、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>Document</title>
</head>
<body>
<!-- 原始的引入做法
缺陷:相关联的依赖有多少,你就需要引入多少
-->
<!-- <script src="../js/base.js"></script>
<script src="../js/home.js"></script> --> <!-- 使用webpack好处:
它帮你生成一个管理所有依赖的js文件,你只需要引入这一个js文件就可以了
-->
<script src="../dist/home.bundle.js"></script>
</body>
</html>

三、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>Document</title>
</head>
<body> <!-- 原始的引入做法
缺陷:相关联的依赖有多少,你就需要引入多少
-->
<!-- <script src="../js/base.js"></script>
<script src="../js/signup.js"></script> --> <!-- 使用webpack好处:
它帮你生成一个管理所有依赖的js文件,你只需要引入这一个js文件就可以了
-->
<script src="../dist/signup.bundle.js"></script>
</body>
</html>

四、base.js

 // 注册功能是否开放
var open = true; // ES6语法
export {open}

五、home.js

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

六、signup.js

 // ES6语法
import {open} from './base'; if(open){
document.body.innerHTML =
`
<h1>
欢迎入坑
</h1>
` }else{
document.body.innerHTML =
`
<h1>
暂不开放注册
</h1>
`
}

七、package.json

  Vue之webpack的entry和output

八、webpack.config.js

 module.exports = {
// 两个入口文件
entry:{
home:'./js/home.js',
signup:'./js/signup.js'
}, // 出口文件
output:{
// [name]是动态的,其中name指向entry对象的key
filename:'[name].bundle.js',
// 注意:__这是两个英文下划线!
// 出口文件保存在当前目录下的dist目录下。注:dist指distribution 分发的意思
path:__dirname + '/dist'
}
}

九、在命令行终端使用以下命令

  npm   run   pack

十、index.html在浏览器运行效果

Vue之webpack的entry和output

点击注册后

Vue之webpack的entry和output

最后,欢迎观看,如有疑问,欢迎交流哦