注:该教程出自于极客学院,教程地址:http://www.imooc.com/article/6219

要想使用npm,首先安装node.js

一.安装全局包

$ npm install babel -g
$ npm install webpack -g
$ npm install webpack-dev-server -g

二.创建根目录

创建一个根目录,目录名为:myApp,再使用npm init初始化,生成package.json文件:

$ mkdir myApp
$ cd myApp/
$ npm init
name: (myApp)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/tianqixin/www/reactApp/package.json:{"name": "react-runoob","version": "1.0.0","description": "cllgeek test","main": "index.js","scripts": {"start": "webpack-dev-server --hot"},"author": "","license": "ISC","dependencies": {"react": "^0.14.8","react-dom": "^0.14.8"}
}
Is this ok? (yes)

三.添加包及插件

因为我们需要使用React,所以我们需要先安装它,–save命令用于将包添加至package.json文件中

$ npm install react --save
$ npm install react-dom --save

同时我们需要安装一些babel插件

$ npm install babel-core
$ npm install babel-loader
$ npm install babel-preset-react
$ npm install babel-preset-es2015

四.创建文件

接下来我们创建一些必要文件:

$ touch index.html
$ touch App.jsx
$ touch main.js
$ touch webpack.config.js

五.设置编译器,服务器,载入器

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

var config = {entry:'./main.js',output:{path:'./build',filename:'index.js',},devServer:{inline:true,port:7777},module:{loaders:[{test:/.jsx?$/,exclude:/node_modules/,loader:'babel',query:{presets:['es2015','react']}}]}
}module.exports = config;

注:该配置适用于webpack1,使用webpack2如此配置会报错,默认安装高版本的插件,我们需要在前面安装webpack的时候指定版本号
安装方式如下:

$ npm install webpack@1.* -g

@1.*会安装1.X的最高版本

entry: 指定打包的入口文件 main.js。
output:配置打包结果,path定义了输出的文件夹,filename则定义了打包结果文件的名称。
devServer:设置服务器端口号为 7777,端口后你可以自己设定 。
module:定义了对模块的处理逻辑,这里可以用loaders定义了一系列的加载器,以及一些正则。当需要加载的文件匹配test的正则时,就会调用后面的loader对文件进行处理,这正是webpack强大的原因。
现在打开 package.json 文件,找到 “scripts” 中的 “test” “echo \”Error: no test specified\” && exit 1″ 使用以下代码替换:
“start”: “webpack-dev-server –hot”
替换后的 package.json 文件 内容如下:

$ cat package.json
{"name": "myApp","version": "1.0.0","description": "","main": "index.js","scripts": {"start": "webpack-dev-server --hot"},"author": "","license": "ISC","dependencies": {"react": "^15.5.4","react-dom": "^15.5.4","webpack": "^1.15.0","webpack-dev-server": "^1.16.4"}
}

现在即可使用npm start命令来启动服务了,–hot命令会在文件变化后重新载入,这样就不需要修改代码后重新刷新浏览器进行更新操作。

六.编写index.html

设置div id=”app” 为我们应用的根元素,并引入上面ouput指定的文件index.js脚本文件:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><div id="app"></div><script src="index.js"></script>
</body>
</html>

七.编写App.jsx 和main.js文件

这是第一个react组件,这个组件将输出Hello World!。
App.jsx文件代码:

import React from 'react';class App extends React.Component {render(){return (<div>Hello World!</div>)}
}export default App;

我们需要引入组件并将其渲染到根元素App上,这样我们才可以在浏览器上看到它。
main.js文件代码:

import React from 'react';
import ReactDOM from 'react-dom'import App from './App.jsx'ReactDOM.render(<App/>,document.getElementById('app'));

注意:
如果想要组件可以在任何的应用中使用,需要在创建后使用export将其导出,在使用组件的文件使用 import将其导入。

文成上述配置,即可运行该服务。

$ npm start

通过浏览器访问:http://loaclhost:7777/

npm搭建React项目相关推荐

  1. (二)使用npm搭建React项目

    一.在内地npm预设是连线到国外的registry,我们可已更改为taobao代理的registry,这样安装包的速度可已加快 npm config set registry https://regi ...

  2. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)

    React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...

  3. 搭建React项目,超简单教程

    步骤 前言 一.安装create-react-app 二.使用步骤 1.创建项目 2.运行项目 3.文件目录 总结 前言 最近公司闲的无聊,刚好之前学的React,至今还未搭建过一个React项目,借 ...

  4. 2023新春版:看这篇大宝典就够了!从零搭建React项目全家桶

    React是近年来前端开发领域非常热门的技术框架,其背景是Facebook团队的技术支持,在全球的前端开发市场上占有率很高.结合React丰富的社区资源,可以让项目开发如虎添翼.虽然React的学习门 ...

  5. 创建react项目 Linux,idea2018 快速搭建react项目指南

    react与angular和vue是截止2018年为止主流的前端框架.对于一些新手来说,想快速入门react,应该是搭建一个react最初的模板项目,然后在项目中添加一些自己喜欢的组件作为练手..今天 ...

  6. create-react-app 搭建react项目中的小坑

    刚买的电脑 安装了 16.3的 node版本 然后 就装了一个 create-react-app 脚手架 然后就出了个问题 就是 搭建react项目的时候 一直报错 一直报错 就很奇怪 后来 我换了个 ...

  7. 搭建react项目教程(二)

    搭建react项目教程(二) 一:概述 二:配置 1:配置依赖包 2:添加与后台交互的配置文件 3:封装API调用方法 4:与后台交互 5:启动项目验证接口 一:概述 1:书接上文搭建react项目教 ...

  8. 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目

    前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...

  9. react打包后图片丢失_使用 webpack 搭建 React 项目

    简评:相信很多开发者在入门 react 的时候都是使用 create-react-app 或 react-slingshot 这些脚手架来快速创建应用,当有特殊需求,需要修改 eject 出来的 we ...

最新文章

  1. JQ实现导航效果(附效果图)
  2. 推荐8个非常有逼格的实用软件,让你的办公更高效
  3. AI生成的代码你敢用吗?有人给最近走红的Copilot做了个“风险评估”
  4. typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
  5. 【mysql】启动mysql 服务器 Redirecting to /bin/systemctl start mysql.service
  6. 什么时候能用Δs判断反应进行方向_化学反应原理复习 第二章
  7. Applet实现Menu
  8. 如何设置Jupiter Notebook服务器并从任何地方访问它(Windows 10)
  9. 带你玩转Logview: MaxCompute Logview参数详解和问题排查
  10. python从数据库取数据 显示字段名_如何在python中将SQL数据库中的字段名放入列表中...
  11. 数字通信原理_计算机网络原理梳理丨物理层
  12. 传智播客Java 关键字,标识符,注释
  13. 经典c程序100例详解
  14. python枚举详解
  15. Javascript函数内静态变量与实例变量
  16. Web大学生网页作业成品——抗击疫情网站设计与实现(HTML+CSS)
  17. css nth-child_比较CSS伪类:nth-​​child与nth-of-type
  18. 判断点在线段的左边还是右边 判断线段是否相交
  19. 牛客网oi测试赛E旅行青蛙【LIS二分】
  20. 【ssh出错】Unable to negotiate with XXX: Their offer: ssh-rsa

热门文章

  1. Android app内部下载安装
  2. linux查找文件命令有哪些
  3. HTML5编写船上航行网页,前端面试整理(HTMLCSS) | 航行学园
  4. 基于bim技术的应用软件有哪些?提高bim工作效率的revit插件?
  5. web架构中的前置机
  6. python开源库——h5py快速指南
  7. 计算机各个盘的作用,C盘各个文件夹/文件的作用是什么(Win7/Win8/Win10系统)?
  8. ImportError: No module named qbo_talk.srv
  9. php redis 删除key 通配符,php redis 批量删除keys的方法
  10. 图片去水印接口,模糊图片中水印