React技术栈——webpack
一直在用fis3,也能完美满足目前业务需求。我厂的scrat也有大量的feature贴合业务线。
最近在看React,要打通React的技术栈,学习Webpack是必不可少的了。
从npm上安装很简单:
npm install webpack -g
Webpack特色:
<li>模块化,支持异步和同步</li>
<li>Loader,把各种文件拆分成模块的支持</li>
<li>更机智的编译</li>
<li>插件系统,提供各色各样的插件,毫不逊色的其他打包工具,要什么价什么</li>
简单demo
先上第一个demo:
cats.js
var cats = ['dave', 'henry', 'martha'];
module.exports = cats;
app.js
var cats = require('./cats');
console.log('cats')
webpack登场:
webpack ./app.js app.bundle.js
这命令可以cats.js打包进app.js里面,最后生成app.bundle.js
利用配置文件来操作webpack
-webpack.config.js
module.exports = {entry: './src/app',output: {path: './bin',filename: 'app.bundle'}
}
配置完后,在文件夹直接webpack即可
使用loader
loader应该是webpack的预加载工具
module.exports = {entry: './src/app.js',output: {path: './bin',filename: 'app.bundle.js'},module: {loaders: [{test: /\.js$/,exclude: /node_moudles/,loader: 'babel-loader'}]}
}
使用plugins
module.exports = {entry: './src/app.js',output: {path: './bin',filename: 'app.bundle.js'},module: {loaders: [{test: /\.js$/,exclude: /node_moudles/,loader: 'babel-loader'}]},plugins: [new webapck.optimize.UglifyJsPlugin({compress: {warnings: false},output: {comments: false}})]
}
CONFIGURATION OBJECT CONTENT
可以编写js,不仅仅是个json对象
entry
基本语法:
{context: _dirname + '/app',entry: './entry',output: {path: _dirname + '/dist',filename: 'bundle.js'}
}传入object时
{entry: {page1: './page1',page2: ['./entry1', './entry2']},output: {filename: '[name].bundle.js',chunkFilename: '[id].bundle.js'}
}
output
multiple entries
{entry: {app: './src/app.js',search: './src/search.js' },output: {filename: '[name].js',path: __dirname + '/built' }
}//outpu: ./built/app.js ./built/search.js
output.pubicPath
适用于类似CDN匹配需求
可添加hash绕过缓存机制
output: {path: '/home/project/cdn/assets/[hash]',publicPath: "http://cdn.example.com/assets/[hash]/"
}
Watch
webpack有个很牛逼的地方,热刷新。
配置好文件后,下面命令可以监听文件变化
webpack --watch
在配置文件里一样可以实现:
module.exports = {entry: {app: './src/app.js'},output: {filename: 'bundle.js',},watch: true
}
在做网页开发时候,需要用到服务器,webpack提供了webpack-dev-server
安装很简单:
npm install webpack-dev-server -g
demo:
webpack-dev-server --host 0.0.0.0 --port 8080 --inline
React技术栈——webpack相关推荐
- 深入react技术栈(11):样式处理
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 基本样式设置 样式中的像素值 使用className库 Css Modules css模块化遇到了哪些问题 css模块化方案 样式默认 ...
- 如何从零学习 React 技术栈
为什么要学习 React? 首先,React 相较于其他框架,其生态圈发展最为完整成熟,有非常多现成的.完整的解决方案. 其次,它适用于大中型应用的开发,便于团队中多人之间协作,很多大厂都在正式的项目 ...
- react 技术栈项目轻量化方案调研
react 技术栈项目轻量化方案调研 团队的新项目,无论是pc端的还是移动端的,都已全面转移到了 react 的技术栈. 然而,对移动端来说,react 框架脚本的体量还是有些偏大. 在后续项目比较成 ...
- 实战react技术栈+express前后端博客项目(8)-- 前端管理界面标签管理+后端对应接口开发...
项目地址:https://github.com/Nealyang/R... 本想等项目做完再连载一波系列博客,随着开发的进行,也是的确遇到了不少坑,请教了不少人.遂想,何不一边记录踩坑,一边分享收获呢 ...
- 深入react技术栈(12):组件内通信
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣获取前后端知识 父组件向子组件传值 子组件向父组件传值 跨级组件通信 没有嵌套关系的组件通信 文章参考深入React技术栈
- 深入react技术栈(10):受控组件和非受控组件
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 受控组件 非受控组件 受控组件和非受控组件的区别 文章参考深入React技术栈
- 深入react技术栈(9):表单
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号搜索前端小歌谣 获取前端知识 应用表单组件 文本框 单选按钮和复选框 Select组件 文章参考深入react技术栈
- 深入react技术栈(8):事件系统
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号搜索前端小歌谣获取前端知识 1合成事件的绑定方式 2合成事件的实现机制 3在React中使用原生事件 4合成事件和原生事件混用 5对比react与原生 ...
- 深入react技术栈(7):组件化实例:Tab栏组件
我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 文章参考深入React技术栈
最新文章
- pythonista3使用教程-pythonista3中文教程
- Windows环境下32位汇编程序设计C版code--第四章
- 影子卫士和影子系统哪个好用_门店管理营销系统哪个好用,营销系统排名
- kafka comsumer
- 2015年职称计算机考试大纲,2015年职称计算机考试photoshop练习题6
- linux下覆盖文件命令,在Linux中使用命令行进行文件覆盖的操作
- 一文搞懂Java泛型到底是什么东东
- SylixOS学习三—— SylixOS的引导与安装1
- Tomcat 8.5 HTTP 报文只返回200 不返回 OK
- 清明时节雨纷纷路-清明节习俗、诗词欣赏
- 延期年金(deferred annuity)
- OTP:Java一次动态密码、付款码原理
- 投影仪显示无法连接服务器失败怎么办,电脑和投影仪连不上怎么办
- 如何使用mysql数据库做网站_php小型数据库(不用mysql做网站)
- vcruntime140.dll不可用或缺少
- RESTful风格API详解
- RISC-V MCU 电源系统概述
- Java 知识结构图
- 微信魔方上传服务器教程,【搬运】微信魔方/微赞完整包V67.5带全部模块 微信第三方公众平台 可增值一键升级...
- 【Super Resolution】超分辨率——SRCNN