react项目搭建

参考:https://my.oschina.net/u/1403181/blog/672501\
项目目录:
项目目录

  1. 环境搭建
    安装node,git
    webpack:模块加载器兼打包工具
    node.js:集成了npm包管理器

  2. 项目搭建
    (1)定位到项目文件夹中,执行如下命令,生成package.json文件,

npm init

安装需要的包,scripts中是命令执行的简写:

{
  "name": "app",
  "version": "0.0.1",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "bundle": "babel-node tools/run bundle",
    "build": "webpack",
    "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build"
  },
  "author": "liyongfen",
  "license": "ISC",
  "devDependencies": {
    "babel": "^6.23.0",
    "babel-core": "^6.25.0",
    "babel-loader": "^7.0.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "react": "^15.5.4",
    "react-dom": "^15.5.4",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.1.1",
    "webpack": "^2.6.1",
    "webpack-dev-server": "^2.4.5"
  },
  "dependencies": {
    "webpack": "^2.6.1",
    "webpack-dev-server": "^2.4.5"
  },
  "description": ""
}

(2)生成了一个node项目,接着安装node模块

npm install webpack --save-dev

–save的作用:自动把模块和版本号添加到package.json文件中的dependencies部分
–save-dev作用:自动把模块和版本号添加到package.json文件中的devDependencies部分
(3)安装webpack需要的加载器

 npm install babel-loader babel-preset-es2015 babel-preset-react --save-dev

加载器这里应该是很重要的一步了,如果没有这几个加载器我们的jsx语法,和es2015语法就会报错(ps:网上很多教程都没有重点提及这几个加载器)
(4)安装react模块

npm install react react-dom --save-dev

3.文件配置&运行
(1)webpack.config.js文件内容如下

var path = require("path");
var webpack = require("webpack");
module.exports = {
    //打包入口文件
    entry: ["webpack/hot/dev-server", path.resolve(__dirname, './app/main.js')],
    //打包输出文件
    output: {
        path: path.resolve(__dirname, './build'),//打包输出文件路径
        filename: "bundle.js"//打包输出文件名
    },
    module: {
        loaders: [{
                test: /\.js?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015', 'react']
                }
        }]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ]
};

(2)main.js文件
引入productBox.js这个组件

let React=require('react');
let ReactDOM=require('react-dom');
let AppComponent=require('./components/productBox.js');
ReactDOM.render(<AppComponent/>,document.getElementById('content'));

(3)组件productBox.js

var React=require('react');
var ProductBox=React.createClass({
    render:function(){
        return(
        <div className="productBox">
            hello react!!!!
        </div>      
            );
    }
});
module.exports = ProductBox;

(4)bundle.js文件
这个文件是在build文件夹中的,是编译输出文件
(5)index.html
在build文件夹下的index.html中引入bundle.js

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="utf-8">
    <title>React Project</title>
</head>
<body>
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<div id="content">
    <script src="./bundle.js"></script>
</div>
</body>
</html>

(6)运行

npm run dev

(7)浏览器中输入:http://localhost:8080/index.html

注意:webpack2版本开始,webpack.config.js中的loader选项不能使用缩写,如babel-loader不能缩写成babel,不然打包会出错。

 throw new Error("Module '" + loader.path + "' is not a loader (must have normal or pitch function)")
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值