webpack(2)--webapck自身的配置
上一记介绍了webpack的安装和基本配置,本记将描述webpack自身的配置
一:指定webpack入口以及出口目录以及输出文件
相信读者在看完上一记后会有一点疑惑:为什么运行webpack要配置src,为什么会有构建打包文件时会生成dist目录且里面会有一个main.js呢?
—mydemo
______dist
——————__main.js
______src
——————__index.js
——————__common.js
——————__esmodule.js
——index.html
这是由于webapck在打包过程中会默认将当前根目录下src/index.js作为入口文件,并会在根目录下新建一个dist目录,并将打包后的文件(默认main.js)放置在dist的目录中
如何配置入口以及出口目录以及文件 ?
三种办法:
- 命令行
当前根目录下输入npx webpack --entry 入口目录及指定入口文件 --output-path 出口目录及指定出口目录
// 入口:yentry.js 出口 ./output
npx webpack --entry ./src/myentry.js --output-path ./output
缺点:命令行里输入,并不能确保效率
2. 在package.json中配置
在webpack中的script字段,给打包命令(如build)配置方法1的代码
// script字段下
"scripts":{
"build" : "webpack --entry ./src/myentry.js --output-path ./output "
}
缺点:scripts内要写太多冗余代码,并不能一眼就看出要做的事情
3.在webpack.config.js中配置项目入口以及打包的目录文件(推荐)
webpack.config.js是一个用于webpack配置选项的文件,可以在这里做针对wenpack本身以及loader,plugins的配置。本质上是通过导出一个配置对象,当webpack运行时会优先读取这个文件,如果有就执行这个对象内的配置
根目录下新建webpack.config.js
// 由于webpack底层由node支持,因而使用node风格的导出方式(读者也可以尝试使用esmodule方式,但是流程太过繁琐,不推荐)
//webpack.config.js
const path = require('path') //引入node原生模块path
module.exports = {
entry : './src/main.js'
output: {
path: path.resolve(__dirname,'build'), //构建完成输出的目录地址(需要绝对路径)
filename: 'mydemo.js'
}
}
命令解析:
entry :入口文件(需附带目录)
output: 输出目录以及文件配置path: 输出的路径,需要绝对路径
path.resolve : node中path模块的一个方法,用于拼接两个字符串
__dirname: 从磁盘到当前目录下的绝对路径
'build' : 构建后的目录名,内部存放打包后的文件
filename: 打包后的文件(在build内部)
完成上述配置后,保存再执行一遍npm run build即可


这样就完成了webpack入口以及出口文件的配置
二:重命名webpack配置文件
一定要将webpack.config.js作为webpack的配置文件吗?是否可以重命名?
可以, 但不推荐,重命名后会增加后续开发者阅读代码难度。因而普遍约定不要重命名webpack.config.js
重命名webpack.config.js的方法:
package.json下的script字段的build下输入以下命令:
// package.json
"script":{
"build":"webpack --config renameconfig.js"
}
下一记:常用loader的安装与配置
webpack(2)--webapck自身的配置的更多相关文章
- 规范开发目录 及 webpack多环境打包文件配置
规范开发目录 普通项目 开发目录: ├── project-name ├── README.md ├── .gitignore ├── assets ├── ├── js ├── ├── css ├─ ...
- webpack处理url资源的配置
webpack处理url资源的配置 1.安装 npm i url-loader -D 2.修改webpack.config.js const path = require('path'); // 启用 ...
- webpack 功能大全 【环境配置】
1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...
- webpack中typeScript的打包配置
2018年typescript发展的非常好,js是一门非常灵活的语言,所以一个功能,怎么写都能够写出来,但是这也会导致一个问题,不同人写js的方式不同,那么会导致同一个功能出现的代码风格会迥然不同.这 ...
- webpack构建vue项目(配置篇)
最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出 ...
- vueJs+webpack单页面应用--vue-router配置
vue-route版本要跟vue版本同步,我的vue用的2.0+的,vue-router 也用了最新版2.1+ npm安装vue-router: $ npm install vue-router -- ...
- webpack es6 to es5支持配置
1. 安装webpack npm install webpack --save-dev 2. 安装babel 实现 ES6 到 ES5 npm install --save-dev babel-co ...
- webpack里的module选项配置
webpack里的module 有loaders选项和noParse选项,noParse选项配置不需要解析的目录和文件 module:{ loaders:[], noParse: [ path.joi ...
- webpack开发与生产环境配置
前言 作者去年就开始使用webpack, 最早的接触就来自于vue-cli.那个时候工作重点主要也是 vue 的使用,对webpack的配置是知之甚少,期间有问题也是询问大牛 @吕大豹.顺便说一句,对 ...
随机推荐
- spark未授权RCE漏洞
Spark简介 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的.低延迟的数据分析应用程序.它扩展了广泛使用的MapRedu ...
- Spring Boot demo系列(十):Redis缓存
1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 ...
- 网络编程Netty入门:ByteBuf分析
目录 Netty中的ByteBuf优势 NIO使用的ByteBuffer有哪些缺点 ByteBuf的优势和做了哪些增强 ByteBuf操作示例 ByteBuf操作 简单的Demo示例 堆内和堆外内存 ...
- python进阶(16)深入了解GIL锁(最详细)
前言 python的使用者都知道Cpython解释器有一个弊端,真正执行时同一时间只会有一个线程执行,这是由于设计者当初设计的一个缺陷,里面有个叫GIL锁的,但他到底是什么?我们只知道因为他导致pyt ...
- Azure CDN 为静态网站创建内容分发网络
一,引言 最近刚刚接触 Edi.Wang 的 Moonglade 博客系统,正好这套系统中有使用到 Azure CND (内容分发网络),那就学习学习.那么今天就尝试利用 Azure CDN 来发布静 ...
- k8s kubernetes给node节点添加标签和删除node节点标签
node节点IP 192.168.1.205 给节点添加标签的命令 添加label语法 kubectl label nodes <node-name> <label-key>= ...
- 10- sudo,exit命令
sudo命令: 作用:用超级用户权限来执行这些命令. 格式:sudo 命令 [选项] [参数] Linux root根目录文件夹 exit命令: 退出用户登陆 Linux关机 开机 重启命令:
- pyqt5 多线程+定时器+读取本地图片
前言 一个程序界面有多个button 按钮时,单击一个按钮,若此按钮对应的信号正在执行,且还未执行完毕: 此时再次单击另外一个按钮,就会出现假死状态. 这个时候我们就需要使用 多线程去解决 多线程+定 ...
- wordpress 自定义路由及展示页
wordpress 自定义路由及展示页 注册domain/test这个路由 wordpress 有重写url的方法,叫 add_rewrite_rule().在function.php中加入如下代码段 ...
- 关于height:100%
要想高度百分比起作用,一般来说,要满足两个条件:其一,父标签有高度可寻,就是向上遍历父标签要找到一个定值高度(body,html另外讨论),如果中途有个height为auto或是没有设置height属 ...