八步亲手用npm开发React

前端之家收集整理的这篇文章主要介绍了八步亲手用npm开发React前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

亲手用npm开发React

来自https://vicyu.com


一个简单的部署开发过程,需要已经了解npm,react和有一定terminal知识,通过此文可以简单了解到现代前端的开发过程,亲手配置一个开发过程,体会是难以言表的.


第零步 配置Node

第一步 初始化开发目录

创建一个根目录,名为: ReactNpm,并用npm init初始化,根据你的需求改变默认配置

  1. $ mkdir ReactNpm
  2. $ cd ReactNpm
  3. $ npm init
  4.  
  5. package name: (reactnpm)
  6. version: (1.0.0)
  7. description:
  8. entry point: (index.js) main.js
  9. test command:
  10. git repository:
  11. keywords:
  12. author:
  13. license: (ISC)
  14. About to write to /home/vic/Documents/react/ReactNpm/package.json:
  15.  
  16. {
  17. "name": "reactnpm","version": "1.0.0","description": "","main": "main.js","scripts": {
  18. "test": "echo \"Error: no test specified\" && exit 1"
  19. },"author": "","license": "ISC"
  20. }
  21.  
  22.  
  23. Is this ok? (yes)

第二步 安装开发所需依赖

运行所需依赖React

  1. npm install --save react
  2. npm install --save react-dom

开发所需依赖Webpack

  1. npm install --save-dev webpack
  2. npm install --save-dev webpack-dev-server

开发所需依赖babel

  1. npm install --save-dev babel-core
  2. npm install --save-dev babel-loader
  3. npm install --save-dev babel-preset-react
  4. npm install --save-dev babel-preset-es2015

这时候,package.json应该是这样的

  1. {
  2. "name": "reactnpm","license": "ISC","dependencies": {
  3. "react": "^15.6.1","react-dom": "^15.6.1"
  4. },"devDependencies": {
  5. "babel-core": "^6.25.0","babel-loader": "^7.1.1","babel-preset-es2015": "^6.24.1","babel-preset-react": "^6.24.1","webpack": "^3.4.1","webpack-dev-server": "^2.6.1"
  6. }
  7. }

第三步 为项目增加两个脚本

在package.json,scripts值下添加:

  1. "build": "webpack","start": "webpack-dev-server --hot"

build选项是为了打包出生成后的js
start选项是为了hot-reload开发,hot-reload好处就在于不用刷新浏览器,可以直接查看新代码的改变

使用方法

  1. $ npm run start

所以,这时的package.json是这样的:

  1. {
  2. "name": "reactnpm","version": "1.0.0","description": "","main": "main.js","scripts": { "test": "echo \"Error: no test specified\" && exit 1","build": "webpack","start": "webpack-dev-server --hot" },"author": "","license": "ISC","dependencies": { "react": "^15.6.1","react-dom": "^15.6.1" },"devDependencies": { "babel-core": "^6.25.0","babel-loader": "^7.1.1","babel-preset-es2015": "^6.24.1","babel-preset-react": "^6.24.1","webpack": "^3.4.1","webpack-dev-server": "^2.6.1" } }

第四步 为项目创建必要文件

让我们创建index.html用于入口HTML,App.jsx是一个简单的Component组建,main.js作为我们的入口js,webpack.conf.js是webpack的配置文件

  1. $ touch index.html
  2. $ touch App.jsx
  3. $ touch main.js
  4. $ touch webpack.config.js

此时目录应该是这样的:

  1. $ tree -L 1
  2. .
  3. ├── App.jsx
  4. ├── index.html
  5. ├── main.js
  6. ├── node_modules
  7. ├── package.json
  8. ├── package-lock.json
  9. └── webpack.config.js
  10.  
  11. 1 directory,6 files

第五步 配置webpack

打开webpack.config.js文件,添加以下代码:

  1. var path = require('path')
  2.  
  3. module.exports = {
  4. entry: './main.js',output: {
  5. path: path.resolve(__dirname,'./'),filename: 'bundle.js',},devServer: {
  6. inline: true,port: 8080
  7. },module: {
  8. rules: [{
  9. test: /.jsx?$/,exclude: /node_modules/,loader: 'babel-loader',query: {
  10. presets: ['es2015','react']
  11. }
  12. }]
  13. }
  14. }

说明:
entry: webpack打包的入口 main.js
output:webpack打包输出,path为输出文件夹,filename为打包输出文件
devServer:开发服务器配置
module:定义了对模块的处理逻辑,当需要加载文件时,webpack会匹配test的正则,匹配成功就会调用其配置对文件进行处理

第六步 编辑页面代码

打开index.html,添加下列代码:

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <title>React With npm</title>
  6. <Meta charset="UTF-8">
  7. <Meta name="viewport" content="width=device-width,initial-scale=1">
  8. </head>
  9.  
  10. <body>
  11. <script src="bundle.js"> </script>
  12. </body>
  13.  
  14. </html>

其中,bundle.js为webpack打包输出js的名字

打开App.jsx,添加下列代码:

  1. import React from 'react'
  2.  
  3. export default class App extends React.Component {
  4. render () {
  5. return (<div> Hello World!</div>)
  6. }
  7. }

打开main.js,添加下列代码:

  1. import React from 'react'
  2. import ReactDOM from 'react-dom'
  3. import App from './App.jsx'
  4.  
  5. ReactDOM.render(
  6. <App/>,document.body.appendChild(document.createElement('div'))
  7. )

第七步 运行开发服务器

  1. $ npm run start

通过浏览器访问 http://localhost:8080/,就可以看到我们激动人心的Hello World!!!

第八步 打包,生成bundle.js

  1. $ npm run build

你就可以发现根目录下生成了bundle.js,然后你就可以大摇大摆那index.html和bundle.js去部署了,当然,这里还有很多工作没有做,我们下次在论.

后言

完成后,目录应该是这个样子的:

  1. vic@$ tree -L 1
  2. .
  3. ├── App.jsx
  4. ├── bundle.js
  5. ├── index.html
  6. ├── main.js
  7. ├── node_modules
  8. ├── package.json
  9. ├── package-lock.json
  10. └── webpack.config.js
  11.  
  12. 1 directory,7 files

猜你在找的React相关文章