npm搭建React项目
注:该教程出自于极客学院,教程地址: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项目相关推荐
- (二)使用npm搭建React项目
一.在内地npm预设是连线到国外的registry,我们可已更改为taobao代理的registry,这样安装包的速度可已加快 npm config set registry https://regi ...
- react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)
React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...
- 搭建React项目,超简单教程
步骤 前言 一.安装create-react-app 二.使用步骤 1.创建项目 2.运行项目 3.文件目录 总结 前言 最近公司闲的无聊,刚好之前学的React,至今还未搭建过一个React项目,借 ...
- 2023新春版:看这篇大宝典就够了!从零搭建React项目全家桶
React是近年来前端开发领域非常热门的技术框架,其背景是Facebook团队的技术支持,在全球的前端开发市场上占有率很高.结合React丰富的社区资源,可以让项目开发如虎添翼.虽然React的学习门 ...
- 创建react项目 Linux,idea2018 快速搭建react项目指南
react与angular和vue是截止2018年为止主流的前端框架.对于一些新手来说,想快速入门react,应该是搭建一个react最初的模板项目,然后在项目中添加一些自己喜欢的组件作为练手..今天 ...
- create-react-app 搭建react项目中的小坑
刚买的电脑 安装了 16.3的 node版本 然后 就装了一个 create-react-app 脚手架 然后就出了个问题 就是 搭建react项目的时候 一直报错 一直报错 就很奇怪 后来 我换了个 ...
- 搭建react项目教程(二)
搭建react项目教程(二) 一:概述 二:配置 1:配置依赖包 2:添加与后台交互的配置文件 3:封装API调用方法 4:与后台交互 5:启动项目验证接口 一:概述 1:书接上文搭建react项目教 ...
- 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目
前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...
- react打包后图片丢失_使用 webpack 搭建 React 项目
简评:相信很多开发者在入门 react 的时候都是使用 create-react-app 或 react-slingshot 这些脚手架来快速创建应用,当有特殊需求,需要修改 eject 出来的 we ...
最新文章
- JQ实现导航效果(附效果图)
- 推荐8个非常有逼格的实用软件,让你的办公更高效
- AI生成的代码你敢用吗?有人给最近走红的Copilot做了个“风险评估”
- typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
- 【mysql】启动mysql 服务器 Redirecting to /bin/systemctl start mysql.service
- 什么时候能用Δs判断反应进行方向_化学反应原理复习 第二章
- Applet实现Menu
- 如何设置Jupiter Notebook服务器并从任何地方访问它(Windows 10)
- 带你玩转Logview: MaxCompute Logview参数详解和问题排查
- python从数据库取数据 显示字段名_如何在python中将SQL数据库中的字段名放入列表中...
- 数字通信原理_计算机网络原理梳理丨物理层
- 传智播客Java 关键字,标识符,注释
- 经典c程序100例详解
- python枚举详解
- Javascript函数内静态变量与实例变量
- Web大学生网页作业成品——抗击疫情网站设计与实现(HTML+CSS)
- css nth-child_比较CSS伪类:nth-​​child与nth-of-type
- 判断点在线段的左边还是右边 判断线段是否相交
- 牛客网oi测试赛E旅行青蛙【LIS二分】
- 【ssh出错】Unable to negotiate with XXX: Their offer: ssh-rsa
热门文章
- Android app内部下载安装
- linux查找文件命令有哪些
- HTML5编写船上航行网页,前端面试整理(HTMLCSS) | 航行学园
- 基于bim技术的应用软件有哪些?提高bim工作效率的revit插件?
- web架构中的前置机
- python开源库——h5py快速指南
- 计算机各个盘的作用,C盘各个文件夹/文件的作用是什么(Win7/Win8/Win10系统)?
- ImportError: No module named qbo_talk.srv
- php redis 删除key 通配符,php redis 批量删除keys的方法
- 图片去水印接口,模糊图片中水印