在这篇文章开始前,默认观看此篇文章的朋友们已经安装好了全局的webpack
配置几个js文件,利用es6进行模块化的导入和导出,通过webpac命令打包
src文件夹:用于存放我们写的源代码
//使用es6语法导入
import {sum,mul} from './mathUtils.js'
console.log(sum(20, 30));
console.log(mul(20, 30));
function sum(num1,num2) {
return num1+num2
}
function mul(num1,num2) {
return num1*num2
}
//导出
module.exports={
sum,mul
}
index.html:首页文件(页面展示)
: 通过webpack命令 将main.js这个文件打包到dist下,并命名为bundle.js
webpack ./src/main.js ./dist/bundle.js
如下图,文件已经打包好存入dist文件夹下
为什么只需要打包main.js这一个文件,而不是将mathUtils.js文件一起打包了?
:原因是webpack会自动处理js文件之间的依赖关系,当运行到main文件中的代码时,它会发现导入的mathUtils这个文件,一并打包。这就是webpack的好处之一
:答案是有的。
新建 webpack.config.js 配置文件(与index文件属于同一级目录)
2、在 webpack.config.js 文件中输入以下代码
module.exports={
entry:'./src/main.js',
output:{
path:'',
filename:'bundle.js'
}
}
entry:入口,可以是字符串、数组、对象,这里我们只有一个入口,所以写一个字符串即可
output:出口,通常是一个对象,包含至少两个属性,path和filename
path:绝对路径,我们将打包好的文件通过这个路径保存到需要的文件夹下
filename:文件名,打包好的文件名,字符串形式
3、在终端使用npm init命令,目的是需要用到node下的path包,并利用这个包的方法动态获取路径
执行命令后,我们在此处随机键入一个名字(meetwebpack)
{
"name": "meetwebpack",
"version": "1.0.0",
"description": "",
"main": "webpack.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
这个文件有什么作用?
在项目中,我们需要依赖node环境中的包时,就需要建一个这样的文件
//引入path语句
const path=require('path')
module.exports={
entry:'./src/main.js',
output:{
path:path.resolve(__dirname,'dist'),
filename:'bundle.js'
}
}
配置webpack.config.js的目的是将入口和出口放到一个配置文件中,之后在终端输入webpack命令即可完成打包,而不用在webpack命令后输入一长段URL地址
:完成webpack.config.js的配置后,简单一看这样很不错了。但实际上,并不建议这样使用
控制台安装,跳转到指定目录下(需要用到webpack的文件夹下)(这将是局部安装)
cd 目录
npm install [email protected] --save-dev
webstorm编译器终端安装
安装完成之后,会在本地生成一个node_modules包,并且在package.json会多出一段代码,它代表是在开发时依赖这个webpack,当在服务器运行时便不再需要了
最后,在package.json中的scripts下新建"build",在终端使用 npm run build这个命令,它的好处会首先查看本地有没有安装webpack,相较于直接使用webpack命令,有很大的优点。