React技术栈——webpack

前端之家收集整理的这篇文章主要介绍了React技术栈——webpack前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一直在用fis3,也能完美满足目前业务需求。我厂的scrat也有大量的feature贴合业务线。

最近在看React,要打通React的技术栈,学习Webpack是必不可少的了。

从npm上安装很简单:

  1. npm install webpack -g

Webpack特色:

  1. <li>模块化,支持异步和同步</li>
  2. <li>Loader,把各种文件拆分成模块的支持</li>
  3. <li>更机智的编译</li>
  4. <li>插件系统,提供各色各样的插件,毫不逊色的其他打包工具,要什么价什么</li>

简单demo

先上第一个demo:

cats.js

  1. var cats = ['dave','henry','martha'];
  2. module.exports = cats;

app.js

  1. var cats = require('./cats');
  2. console.log('cats')

webpack登场:

  1. webpack ./app.js app.bundle.js

这命令可以cats.js打包进app.js里面,最后生成app.bundle.js

利用配置文件来操作webpack

-webpack.config.js

  1. module.exports = {
  2. entry: './src/app',output: {
  3. path: './bin',filename: 'app.bundle'
  4. }
  5. }

配置完后,在文件夹直接webpack即可

使用loader

loader应该是webpack的预加载工具

  1. module.exports = {
  2. entry: './src/app.js',filename: 'app.bundle.js'
  3. },module: {
  4. loaders: [{
  5. test: /\.js$/,exclude: /node_moudles/,loader: 'babel-loader'
  6. }]
  7. }
  8. }

使用plugins

  1. module.exports = {
  2. entry: './src/app.js',loader: 'babel-loader'
  3. }]
  4. },plugins: [
  5. new webapck.optimize.UglifyJsPlugin({
  6. compress: {
  7. warnings: false
  8. },output: {
  9. comments: false
  10. }
  11. })
  12. ]
  13. }

CONFIGURATION OBJECT CONTENT

可以编写js,不仅仅是个json对象

entry

  1. 基本语法:
  2. {
  3. context: _dirname + '/app',entry: './entry',output: {
  4. path: _dirname + '/dist',filename: 'bundle.js'
  5. }
  6. }
  7.  
  8. 传入object
  9. {
  10. entry: {
  11. page1: './page1',page2: ['./entry1','./entry2']
  12. },output: {
  13. filename: '[name].bundle.js',chunkFilename: '[id].bundle.js'
  14. }
  15. }

output

  1. multiple entries
  2. {
  3. entry: {
  4. app: './src/app.js',search: './src/search.js'
  5. },output: {
  6. filename: '[name].js',path: __dirname + '/built'
  7. }
  8. }
  9.  
  10. //outpu: ./built/app.js ./built/search.js

output.pubicPath

  1. 适用于类似CDN匹配需求
  2. 添加hash绕过缓存机制
  3. output: {
  4. path: '/home/project/cdn/assets/[hash]',publicPath: "http://cdn.example.com/assets/[hash]/"
  5. }

Watch

webpack有个很牛逼的地方,热刷新。

配置好文件后,下面命令可以监听文件变化

  1. webpack --watch

配置文件里一样可以实现:

  1. module.exports = {
  2. entry: {
  3. app: './src/app.js'
  4. },output: {
  5. filename: 'bundle.js',},watch: true
  6. }

在做网页开发时候,需要用到服务器,webpack提供了webpack-dev-server

安装很简单:

  1. npm install webpack-dev-server -g

demo:

  1. webpack-dev-server --host 0.0.0.0 --port 8080 --inline

猜你在找的React相关文章