yujianfang / blog

0 stars 0 forks source link

webpack通过配置文件使用 #5

Open yujianfang opened 6 years ago

yujianfang commented 6 years ago

通过命令行形式配置webpack容易出错,可通过建立webpack.config.js文件配置入口文件路径及打包后文件输出路径,该文件位置是当前项目的根目录. module.exports = { entry: dirname + "/app/main.js",//已多次提及的唯一入口文件 output: { path: dirname + "/public",//打包后的文件存放的地方 filename: "bundle.js"//打包后输出文件的文件名 } } 注:“__dirname”是node.js中的一个全局变量,它指向当前执行脚本所在的目录。 有了这个配置之后,再打包文件,只需在终端里运行webpack(非全局安装需使用node_modules/.bin/webpack)命令就可以了,这条命令会自动引用webpack.config.js文件中的配置选项

更快捷的执行打包任务

在命令行中输入命令需要代码类似于node_modules/.bin/webpack这样的路径其实是比较烦人的,不过值得庆幸的是npm可以引导任务执行,对npm进行配置后可以在命令行中使用简单的npm start命令来替代上面略微繁琐的命令。在package.json中对scripts对象进行相关设置即可,设置方法如下。

{ "name": "one", "version": "1.0.0", "description": "Sample webpack project", "scripts": { "start": "webpack" // 修改的是这里,JSON文件不支持注释,引用时请清除 }, "author": "yjf", "license": "ISC", "devDependencies": { "webpack": "^1.12.9" } } 注:package.json中的script会安装一定顺序寻找命令对应位置,本地的node_modules/.bin路径就在这个寻找清单中,所以无论是全局还是局部安装的Webpack,你都不需要写前面那指明详细的路径了。 npm的start命令是一个特殊的脚本名称,其特殊性表现在,在命令行中使用npm start就可以执行其对于的命令,如果对应的此脚本名称不是start,想要在命令行中运行时,需要这样用npm run {script name}如npm run build,我们在命令行中输入npm start试试