美文网首页
用webpack打包react+ES6

用webpack打包react+ES6

作者: 小m_up | 来源:发表于2017-02-15 17:50 被阅读1977次

该文章适合对react有一定认识的人阅读。

通过npm使用react,并用webpack进行打包

  • 创建目录
    创建一个根目录,目录名为:react-webpack-demo,再使用npm init -y进行初始化,生成package.json文件。
$ mkdir react-webpack-demo
$ cd react-webpack-demo/
$ npm init -y

那么此时你就会发现文件夹里面多了一个package.json文件。

  • 添加依赖包
    注:因为npm速度太慢,所以我就使用了cnpm,速度会快很多。
下载cnpm:
$ npm install -g cnpm --registry=http://r.cnpmjs.org

因为我们要使用 React, 所以我们需要先安装react和react-dom这两个依赖包,--save 命令用于将包添加至 package.json 文件的dependencies中。

$ cnpm install react react-dom --save
  • 添加插件
    我们也要安装一些 babel 插件,--save-dev是将插件添加到devDependencies中。
$ cnpm install babel-loader babel-core babel-preset-react babel-preset-es2015 --save-dev

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。

  • 安装webpack以及webpack-dev-server依赖
    webpack-dev-server就是一个基于Node.js和webpack的一个简易服务器。
$ cnpm install webpack webpack-dev-server --save-dev
  • 创建文件
    接下来我们创建一些基本的文件:
$ touch index.html
$ touch webpack.config.js
$ mkdir public
$ cd public
$ touch main.js
$ mkdir components
$ cd components
$ touch App.js
  • index.html
    设置 div id = "app" 为我们应用的根元素。
<!DOCTYPE html>
<html>
   <head>
      <meta charset = "UTF-8">
      <title>react-webpack-demo</title>
   </head>
   <body>
      <div id = "app"></div>
   </body>
</html>
  • App.js
    先写App组件,内容只是显示输出Hello World!.
import React from 'react';
class App extends React.Component {
   render() {
      return (
         <div>
            Hello World!
         </div>
      );
   }
}
export default App;
  • main.js
    我们需要引入组件并将其渲染到根元素 app 上,这样我们才可以在浏览器上看到它。
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.js';
ReactDOM.render(<App />, document.getElementById('app'));
  • 设置编译器,服务器,载入器
    打开 webpack.config.js 文件添加以下代码:
const path = require('path');
module.exports = {
    entry: path.resolve(__dirname, './public/main.js'),
    output: {
        path: path.resolve(__dirname, './public/out'),
        filename: 'bundle.js'
    },
    module: {
        loaders: [{
            test: /\.jsx?$/,
            loaders: ['babel-loader?presets[]=es2015,presets[]=react']
        }]
    }
};

entry:入口文件。 output里面的path:打包输出的路径。 filename:打包后的名字
配置完成后,在package.json里面将scripts里面的test变成下面的webpack

"scripts": {
     "build": "webpack"
}
  • 在index.html中引入bundle.js文件
      <script src="./public/out/bundle.js"></script>

此时在终端输入

$ npm run build

然后打开index.html,然后在浏览器中运行,终于显示出了Hello World!
源码地址:https://github.com/yangzhanmei/react-webpack-demo

相关文章

  • 用webpack打包react+ES6

    该文章适合对react有一定认识的人阅读。 通过npm使用react,并用webpack进行打包 创建目录创建一个...

  • webpack 打包html img src问题

    最近,在看webpack打包图片的一些知识,首先webpack打包图片用的是url-loader; 当前loade...

  • Webpack打包

    一、Webpack 1、webpack 是什么?有什么用?有哪些同类工具? (1)WebPack是一个前端资源打包...

  • webpack 笔记

    什么是 webpack,有什么用? webpack 就是一个打包工具,宗旨是一切静态资源皆可打包,分析项目结构,找...

  • CommonJS规范

    研究了一下CommonJS规范,用webpack打包之后,得到源码进行分析,只要分析webpack_require...

  • webpack学习第四步——loader之打包样式文件

    增加index.css文件 index.js引用css文件 此时用webpack打包会异常,因为webpack不知...

  • webpack配置与安装及运行

    最近刚学了webpack的基本内容,但是现在安装的webpack已经是4的版本了,用webpack打包的时候回发现...

  • 打包分析工具的使用

    什么是打包分析? 打包分析指的是,当我们用webpack对代码进行打包之后,我们可以借助一些打包分析工具,来对我们...

  • 2020-11-30 打包分析工具的使用(4.8)

    什么是打包分析? 打包分析指的是,当我们用webpack对代码进行打包之后,我们可以借助一些打包分析工具,来对我们...

  • webpack 高级配置

    如何支持 IE 用 babel-loader 打包 JS 其实 webpack 就可以打包 JS 了,为什么还要用...

网友评论

      本文标题:用webpack打包react+ES6

      本文链接:https://www.haomeiwen.com/subject/csnaittx.html