zoukankan      html  css  js  c++  java
  • react webpack.config.js 入门学习

    在学习react 的时候必然会用到webpack打包工具,webpack的快速入门另外一篇文章中有记录,这里只记录webpack.config.js文件,因为每个项目下都必须配置,通俗的讲,它的作用就是告诉Webpack要做什么。

    一个最简单的Webpack配置文件webpack.config.js如下所示:

    module.exports = {
      entry:[
        './app/main.js'
      ],
      output: {
        path: __dirname + '/assets/',
        publicPath: "/assets/",
        filename: 'bundle.js'
      }
    };
    

      其中:

    entry:定义了打包后的入口文件,数组中的所有文件会按顺序打包。每个文件进行依赖的递归查找,直到所有相关模块都被打包。

    output:定义了输出文件的位置,其中常用的参数包括:

    • path: 打包文件存放的绝对路径
    • publicPath: 网站运行时的访问路径
    • filename: 打包后的文件名
    现在来看如何打包一个React组件。假设有如下项目文件夹结构:

    - react-demo+ assets/
       - js/
         Hello.js
         entry.js
       index.html
       webpack.config.js

    其中Hello.js定义了一个简单的React组件,使用ES6语法:

    var React = require('react');
    class Hello extends React.Component {
      render() {
        return (
          <h1>Hello {this.props.name}!</h1>
        );
      }
    }

    entry.js是入口文件,将一个Hello组件输出到界面:

    var React = require('react');
    var Hello = require('./Hello');
    React.render(<Hello name="World" />, document.body);

    index.html的内容如下:

    <html>
    <head></head>
    <body>
    <script src="/assets/bundle.js"></script>
    </body>
    </html>

    在这里Hello.js和entry.js都是JSX组件语法,需要对它们进行预处理,这就要引入webpack的JSX加载器。因此在webpack.config.js 配置文件中加入如下配置:

    module: {
      loaders: [
        { test: /.jsx?$/, loaders: ['jsx?harmony']}
      ]
    }

    加载器的作用是它能将JSX编译成JavaScript并加载为Webpack模块这样在当前目录执行webpack命令之后,在assets目录将生成bundle.js,打包了entry.js的内容。当浏览器打开当前服务器上的index.html,将显示“Hello World”。这是一个非常简单的例子,演示了如何使用Webpack来进行最简单的React组件打包。

     
  • 相关阅读:
    (七)微信小程序:收藏功能
    (六)微信小程序:制作新闻详情页
    (五)微信小程序:模板template
    (四)微信小程序:新闻列表渲染
    (三)微信小程序:焦点轮播图功能
    (二)微信小程序:实现页面跳转
    Docker和jenkins实现springboot自动部署
    (桥接)完美解决linux设置静态ip。
    一个简单的对任意list分页的工具-----PageUtil
    java8实战二------lambda表达式和函数式接口,简单就好
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/6093476.html
Copyright © 2011-2022 走看看