react webpack 环境配置

摘要:
limit=8192'//这里的limit=8192表示用base64编码˂=8K的图像}]},};4.package.json文件内容如下:{"name":"wp211_app","version":"1.0.0","description":"","main":"index.jsx","dependencies":{"react":"^15.4.2","webpack-dev-server":"^2.3.0"},"devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.2.10","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","css-loader":"^0.26.1","less-loader":"^2.2.3","react-dom":"^15.4.2","style-loader":"^0.13.1","url-loader":"^0.5.7","webpack":"^2.2.1","webpack-dev-server":"^2.3.0"},"scripts":{"build":"webpack","dev":"webpack-dev-server--devtooleval--progress--colors--content-basebuild"},"author":"","license":"ISC"}说明:package.json修改两处地方:"scripts"处同上,"main"对应你的index文件。

1. 默认已经安装了nodejs,并输入:npm init 根据提示输入内容并 创建 package.json

2. 创建项目 reactapp

reactapp
  |--app
      |--components
             |--productBox.jsx
      |--main.jsx
  |--build
      |--index.html
      |--bundle.js (该文件是webpack打包后生成的)
  |--webpack.config.js
npm install react --save-dev

npm install webpack webpack-dev-server --save-dev

npm install babel-loader babel-core --save-dev

npm install css-loader less-loader style-loader --save-dev

npm install url-loader --save-dev

3. webpack.config.js文件内容如下:

var path = require('path');

module.exports ={
    entry: ['webpack-dev-server/client?http://localhost:8080', path.resolve(__dirname, './app/main.jsx')],
    output: {
        path: path.resolve(__dirname, './build'),
        filename: 'bundle.js',
    },
    module: {
        loaders: [{
            test: /.jsx?$/,
            loader: 'babel-loader',
            exclude: /node_modules/,
            query: {
                presets: ['es2015','react']
            }
        }, {
             test: /.css$/,
loader: "style-loader!css-loader"}, { test: /.less$/, loader: 'style!css!less'},{ test: /.(png|jpg|gif)$/, loader: 'url-loader?limit=8192' //这里的 limit=8192 表示用 base64 编码 <= 8K 的图像 }] }, };

4. package.json文件内容如下:

{
  "name": "wp211_app",
  "version": "1.0.0",
  "description": "",
  "main": "index.jsx",
  "dependencies": {
    "react": "^15.4.2",
    "webpack-dev-server": "^2.3.0"
  },
  "devDependencies": {
    "babel-core": "^6.23.1",
    "babel-loader": "^6.2.10",
    "babel-preset-es2015": "^6.22.0",
    "babel-preset-react": "^6.23.0",
    "css-loader": "^0.26.1",
    "less-loader": "^2.2.3",
    "react-dom": "^15.4.2",
    "style-loader": "^0.13.1",
    "url-loader": "^0.5.7",
    "webpack": "^2.2.1",
    "webpack-dev-server": "^2.3.0"
  },
  "scripts": {  
    "build": "webpack",
    "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build"
  },
  "author": "",
  "license": "ISC"
}

说明: package.json 修改两处地方: "scripts" 处同上,"main" 对应你的index文件。

5. main.jsx 、 productBox.jsx 、 index.html 三文件内容分别如下:

main.jsx:

import React from 'react'
import { render } from 'react-dom';
import AppComponent from './components/productBox.jsx';
render(<AppComponent />, document.getElementById('content'));

index.html:

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

productBox.jsx:
var React = require('react');
import { render } from 'react-dom';
var ProductBox = React.createClass({
    render: function () {
        return (
            <div className="productBox">Hello World!
            </div>);
    }
});

module.exports = ProductBox;

6. 运行测试:

npm run dev

浏览器访问: http://localhost:8080
Hello World!

....

安装完毕!

免责声明:文章转载自《react webpack 环境配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python 识别登录验证码图片功能的实现代码(完整代码)java进程间通信下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux 串口驱动设计一

TTY驱动程序架构设计 一 。TTY概念解析   1. dev/ttySAC0     在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。       •串口终端(/dev/ttyS*)      串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。        这些串行端...

react工程目录简介

首先我们可以看到底部一个 yarn.lock的文件,这个文件主要是项目依赖的安装包,他的一些版本号,会在这里做一些限制,这个文件不要动就好了。 readme.md,这个文件其实是项目的说明文件,他里面会有一些关于项目的说明,我们可以全部删除掉,自己用markdown的语言做一些相关的介绍 package.json,基本上每个脚手架工具都会有这个pack...

容器跨主机网络通信学习笔记(以Flannel为例)

我们知道在Docker的默认配置下,不同宿主机上的容器通过 IP 地址进行互相访问是根本做不到的。 而正是为了解决这个容器“跨主通信”的问题,社区里才出现了很多的容器网络方案。 要理解容器“跨主通信”的原理,就一定要先从 Flannel 这个项目说起。 Flannel 项目是 CoreOS 公司主推的容器网络方案。事实上,Flannel 项目本身只是一个框...

React之JSX循环遍历方法对比

JSX支持遍历语法,如下 除了上面数组遍历方式,还有另一种,如下所示 结合for循环(外部) 注意: 主流循环写法是 map,jsx里面不能用for循环,因为for循环不是表达式。可以用Array::map方法,注意给返回的每一个组件设置一个唯一的key。 ....

前端利器躬行记(7)——自制脚手架

在学习了Webpack基础后,查看别人写好的脚手架总是会一头雾水,后面就上网查各种资料,一边参考一边修改,整出了一套简易的脚手架(已上传至GiuHub和npm上),借鉴了Create React App(CRA)的目录结构(如下所示),并做成了命令行工具(已上传至GiuHub和npm上)。 ├── pwu -------------------------...

Android平台根目录文件

> 系统分区 # adb shell # mount rootfs / rootfs ro 0 0tmpfs /dev tmpfs rw,mode=755 0 0devpts /dev/pts devpts rw,mode=600 0 0proc /proc proc rw 0 0sysfs /sys sysfs rw 0 0none /acct...