webpack基础
栏目: JavaScript · 发布时间: 6年前
内容简介:最新的在在
安装
npm install -g webpack webpack-cli
快速开始
最新的 webpack
支持零配置使用,默认入口为当前目录下的 src
中的 index.js
文件,默认打包输出的目录为 dist
目录,默认打包模式 mode
为 development
-
先建一个文件夹,如
webpack-test -
webpack-test文件下新建一个src目录,再src下新建一个index.js文件 -
终端进入
webpack-test目录,运行webpack -
webpack会在webpack-test目录下生成一个dist目录。
配置项说明
在 webpack-test
目录下新建一个 webpack.config.js
,返回的是一个配置对象。
| 字段名 | 可选值 | 说明 | ||
|---|---|---|---|---|
| mode | "development" \ | "production" \ | "none" | 表示打包类型,为 production 时会压缩代码 |
| entry | 字符串 \ | 对象 | 打包入口文件 | |
| output | 对象 | 配置打包后文件夹和格式化文件名等 |
entry 配置入口文件
在 src
目录下新建 a.js
, b.js
// 单一入口
module.exports = {
entry:'./src/a.js'
}
// 多入口
module.exports = {
entry:{
a:'./src/a.js',
b:'./src/b.js'
}
}
在多入口时,会在 dist 目录下打包 a.js
和 b.js
output
- filename 打包之后的文件夹名
// 单入口情景
module.exports = {
entry:'./src/a.js',
output:{
filename:'[name].[hash:7].js'
}
}
// 打包后类似 main.abdfa13.js
// 多入口情景
module.exports = {
entry:{
a:'./src/a.js',
b:'./src/b.js'
},
output:{
filename:'[name].[hash:7].js'
}
}
// 打包后生成类似 a.abdfa13.js , b.abdfa13.js
在配置文件中,有几个可用的参数,如 hash
当前打包随机字符串, name
对应 entry
中的属性名(但单入口默认为 main
), ext
对应 loader
中的文件后缀名。
- path 打包生成的目标文件夹,必须为一个绝对地址
const path = require('path');
module.exports = {
entry:'./src/a.js',
output:{
filename:'[name].[hash:7].js',
path:path.resolve(__dirname,'./dist')
}
}
- publicPath,针对打包后的项目不在服务器的根目录访问,需要加上路径的情况。保证资源访问地址正确。主要体现在页面中引用绝对地址的图片,和 webpackPlugin 注入资源地址的时候。
比如最后项目访问路径为: https://haokur.com/webpack-test/index.html
,则需要配置
const path = require('path');
module.exports = {
entry:'./src/a.js',
output:{
filename:'[name][hash:7].js',
path:path.resolve(__dirname,'./dist/webpack-test'),
publicPath:'/webpack-test/'
}
}
发布时,则可以将 dist 下面的 webpack-test 目录部署到服务器的根目录下面。
未完待续
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript RIA开发实战
(英)Dennis Odell / 张立浩 / 清华大学出版社 / 2010 / 48.00元
本书介绍如何采用最合理的方式为RIA编写可靠的、易于维护的HTML、CSS和JavaScript代码,以及如何使用Ajax技术在后台实现浏览器与Web服务器的动态通信。本书将介绍您在构建Web应用程序时可能遇到的性能限制,以及如何以最佳的方式克服这些限制。此外,本书提供的提示可以使用户界面响应更加灵敏。 本书也将介绍如何通过添加使用自定义字体的印刷标题、多媒体回放组件、自定义窗体控件和动态绘......一起来看看 《JavaScript RIA开发实战》 这本书的介绍吧!