创建第一个打包程序
来写一个最简单的demo,回到我们第一节学html-css-js的课程 在上次创建的文件中创建一个index.js(这个相当于入口文件,vue我们能看见到main.js),还有一个index.html文件. 再创建一个js文件将函数导出,在index引入并且调用
index.html
`<html>
<head >
<meta charset="utf-8"/>
<script src="./index.js"></script>
</head>
<body></body>
</html>
test.js
这里是导出函数测试能否被入口文件给引入
function talk() {
console.log('我是测试模块的函数');
}
export default talk;
index.js
import talk from "./test";
function speak() {
console.log('index的speak函数执行');
talk();
}
speak();
这段代码在浏览器正常来说自然是不可以正常运行的
因为这两个独立的文件根本没法引入
我们尝试一下打包文件
npx webpack --entry=./index.js --mode=development
来解析一下这段命令 --entry 指的是入口文件路径, --mode 是模式有三种production、none,还有development
将index.js放入src目录下
webpack打包的默认路径就是src/index.js
实际生产中我们经常把配置写到一个配置的文件
配置文件叫 webpack.config.js
module.exports = {
entry:'./src/index.js', //项目的入口文件.叫啥无所谓,默认是 src/index.js
output: { //输出文件的配置默认是main.js
//path nodejs内部帮我们拼接好了
filename:'outPutMain.js'
},
mode:'development'
}
安装服务
npm install webpack-dev-server -D
就像vue那样内置一个服务器可以随时刷新.同样这个只安装在开发环境中,正式上线我们会把他放到我们打包自己的服务器上面
在package.json中加入启动服务器的命令
"dev":'webpack-dev-server'
同时在webpack.config.js文件中加入有关服务器的配置内容
// 导出一个对象
module.exports = {
entry:'./src/index.js', //项目的入口文件.叫啥无所谓,默认是 src/index.js
output: { //输出文件的配置默认是main.js
filename:'outPutMain.js'
},
mode: 'development',
devServer: {
publicPath:'./dist'
}
}
上面webpack帮我们做了什么事情,简单来说就是帮我们把包大好(刚才的步骤),然后启动服务器,一旦浏览器访问就会将静态资源返回给浏览器 请注意 index.html要默认放在 public目录下