webpack+babel+ES6+react环境搭建
webpack+babel+ES6+react环境搭建
步骤:
1 创建项目结构
mkdir app //创建app目录 用来存放项目源文件
mkdir dist // 创建dist目录 用来存放打包好的文件
touch .gitignore //创建.gitignore 用来添加git 忽略的文件
touch webpack.config.js //创建webpack的配置文件
cd app //进入到app目录
touch index.js //在app目录中创建 index文件 入口文件
mkdir component //创建componet目录 用来装组件
2 初始化项目
npm init -y

3 安装webpack
npm install webpack --save
注意:安装完成以后,项目目录下会生成一个node_modules的文件夹 用来存放npm包
4 打开webpack.config.js 文件 并添加配置项目
module.exports = {
context:__dirname+"/app", //源文件目录
entry:{
app:"./index.js" //在源文件目录下去找index.js 文件作为打包的入口文件
},
output:{
path:__dirname+"/dist", //生成的文件存放目录
filename:"[name].bundle.js" //生成的文件 name 表示entry下面的app
}
}
5 让npm 可以运行 webpack --在package.json 文件中 添加一条命令
{
"name": "react",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"./node_modules/.bin/webpack" //这条命令是新增加的
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"babel": "^6.23.0",
"babel-core": "^6.23.1",
"babel-loader": "^6.3.2",
"babel-preset-es2015": "^6.22.0",
"webpack": "^2.2.1"
}
}
6 在dist目录下面新建index.html 文件,并且引入打包好的js文件
<!DOCTYPE html>
<html lang="en">
<head>
<metacharset="UTF-8">
<title>首页</title>
</head>
<body>
</body>
<scriptsrc="app.bundle.js"></script>
</html>
doucment.write("hello world!!!!")
6 通过babel来使用es6
npm install babel-loader babel-core babel-preset-es2015 --save
module.exports = {
context:__dirname+"/app",
entry:{
app:"./index.js"
},
output:{
path:__dirname+"/dist",
filename:"[name].bundle.js"
},
module:{
rules:[
{
test:/\.jsx?$/,
exclude: /node_modules/,
use: [{
loader: "babel-loader",
options: { presets: ["react","es2015"] }
}],
}, ]
}
}
7 添加react支持
npm install react react-dom babel-preset-react --save
import React from 'react';
import ReactDOM from 'react-dom';
class IndexComponent extends React.Component{
render(){
return <h1>hello world!!!</h1>
}
}
var oBox = document.getElementById("box");
ReactDOM.render(<IndexComponent/>,oBox)
npm run dev 然后运行 index.html 文件查看效果
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>首页</title>
</head>
<body>
<divid="box"></div>
</body>
<scriptsrc="app.bundle.js"></script>
</html>
8 添加样式支持
npm install css-loader style-loader --save
module.exports = {
context:__dirname+"/app",
entry:{
app:"./index.js"
},
output:{
path:__dirname+"/dist",
filename:"[name].bundle.js"
},
module:{
rules:[
{
test:/\.jsx?$/,
exclude: /node_modules/,
use: [{
loader: "babel-loader",
options: { presets: ["react","es2015"] }
}],
},
{ //这里的内容是新增加的对样式的支持
test: /\.css$/,
use: ["style-loader", "css-loader"],
},
]
}
}
import React from 'react';
import ReactDOM from 'react-dom';
import styles from './css/index.css'; //这里内容属于新增加的
class IndexComponent extends React.Component{
render(){
return <h1>hello world!!!</h1>
}
}
var oBox = document.getElementById("box")
ReactDOM.render(<IndexComponent/>,oBox)
h1{
color: green;
}
9 添加web服务器支持
npm install webpack-dev-server --save
"dev": "./node_modules/.bin/webpack"
"dev": "./node_modules/.bin/webpack-dev-server --content-base dist"
webpack+babel+ES6+react环境搭建的更多相关文章
- es6+react环境搭建
工具说明 Node Koa React Webpack 项目结构 - build 客户端代码的构建文件目录 - config 项目的配置文件 - docs 项目相关的文档目录 - lib 服务端库文件 ...
- 重温 Webpack, Babel 和 React
开始之前 在书写文章之前,我假设大家已经有了 JavaScript,Node 包管理工具,Linux 终端操作 这些基本技能,接下来,我将一步一步指引大家从头搭建一个 React 项目 最终实现的效果 ...
- React 环境搭建及页面调试方法
React 环境搭建及页面调试方法 |作者:RexFang |出处:http://www.cnblogs.com/rexfang/ |关于作者:Java 程序员一枚 |版权:本文版权归作者和博客园共有 ...
- Webpack+React+ES6 最新环境搭建和配置(2017年)
刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...
- 最小白的webpack+react环境搭建
本文也同步发表在我的公众号“我的天空” 从零开始,用最少的配置.最少的代码.最少的依赖来搭建一个最简单的webpack+react环境. 最近在玩webpack+react+移动端,那么第一步自然是搭 ...
- es6开发环境搭建,babel 将es6转化成es5
工欲善其事,必先利其器.所以我们第1节就是搭建一个基本的ES6开发环境.现在的Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成E ...
- react环境搭建及文件配置
webpack简介 构建工具(基于Nodejs)node(v16)前端工程化. 环境搭建 创建一个空的package.json npm init webpack核心包(提供了API,插件) npm i ...
- 从零开始react实战:云书签-1 react环境搭建
总览篇:react 实战之云书签 本篇是实战系列的第一篇,主要是搭建 react 开发环境,在create-react-app的基础上加上如下功能: antd 组件库按需引入 ,支持主题定制 支持 l ...
- Babel指南——基本环境搭建
ECMAScript的现状 ECMAScript,本身是一个脚本语言的设计规范,基于此规范,有许多为人熟知的语言,如JavaScript.ActionScript等.而时至几年前,随着Node.js的 ...
随机推荐
- Vmware 不能上网
Vmware 安装 WIN7 不能上网,如何解决? 情况一: 虚拟机右下角出现红色叉号,检查物理的服务是否开启“VMware NAT Service” 1 .开启方法:WIN + R -> 输入 ...
- jsp中的文件上传
首先需要有以下的jar包 jsp代码如下: <!-- ${pageContext.request.contextPath}为: "/" + 当前项目名 --> < ...
- Python9-前端基础知识-day47
web开发本质: 1.浏览器输入网址回车都发生了什么? 1.浏览器给服务端发送一个消息 2.服务端拿到消息 3.服务端返回消息 4.浏览器展示页面C/S架构----B/S架构客户端和服务端 消息的格式 ...
- 2018 Multi-University Training Contest 1 H - RMQ Similar Sequence(HDU - 6305 笛卡尔树)
题意: 对于一个序列a,构造一个序列b,使得两个序列,对于任意的区间 [l, r] 的区间最靠近左端点的那个最大值的位置,并且序列 b 满足 0 < bi < 1. 给定一个序列 a ,求 ...
- Codeforces Round #461 (Div. 2) D. Robot Vacuum Cleaner
D. Robot Vacuum Cleaner time limit per test 1 second memory limit per test 256 megabytes Problem Des ...
- 栈及其DFS:B - Parentheses Balance
解题心得及总结: 总结: 1.递推:又1推出n,数列中的基本到通项,最终目标得出通项公式. 递归:又n先压缩栈到1,再从函数的出口找到1,又1到n,再从n计算到1: 2.判断是否可以由递推或递推得出, ...
- ZOJ Monthly, January 2018 训练部分解题报告
A是水题,此处略去题解 B - PreSuffix ZOJ - 3995 (fail树+LCA) 给定多个字符串,每次询问查询两个字符串的一个后缀,该后缀必须是所有字符串中某个字符串的前缀,问该后缀最 ...
- Xadmin添加用户小组件出错render() got an unexpected keyword argument 'renderer
环境: Python 3.5.6 Django 2.1 Xadmin 原因: render函数在django2.1上有变化 解决方案: 1.在Python终端输入命令help('xadmin') 查看 ...
- sql优化系列2
sql中索引是否会用到,进而影响查询效率. 带通配符(%)的like语句 1.不能用null作索引,任何包含null值的列都将不会被包含在索引中.即使索引有多列这样的情况下,只要这些列中有一列含有nu ...
- P2615 神奇的幻方
P2615 神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首 ...