安装react
npm install react --save-dev
npm install react-dom --save-dev
安装webpack
npm install webpack --save-dev
安装babel转码,可以使用jsx语法
npm install babel-core --save=dev
npm install babel-loader --save=dev
npm install babel-preset-es2016 --save=dev
npm install babel-preset-react --save=dev
目录结构
配置webpack.config.js
var path = require('path');
var webpack = require('webpack');
var config = {
entry: [
//'webpack/hot/dev-server',
'webpack/hot/only-dev-server',
'webpack-dev-server/client?http://localhost:8080',//资源服务器地址
path.resolve(__dirname, 'app/js/main.js') // 定义入口文件
],
output: { // 定义出口目录
//publicPath: "http://127.0.0.1:9090/build/",
path: path.resolve(__dirname, 'build/js'),
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /.jsx?$/, // 匹配'js' or 'jsx' 后缀的文件类型
loaders: 'babel-loader', // 使用'babel-loader'也是一样的
exclude: /node_modules/, //排除文件
query:{
presets: ["es2016", "react"]
}
}
]
},
plugins:[
]
}
module.exports = config;
main.js引用jsx组件
import Hello from './modules/hello.jsx';
hello.jsx组件
import React from 'react';
import ReactDOM from 'react-dom';
class Hello extends React.Component{
render(){
return <h1>hello</h1>;
}
}
ReactDOM.render(<Hello/>, document.getElementById("hello"));
index.html页面文件
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello React</title>
</head>
<body>
<div id="hello"></div>
<!--webpack编译后自动生成-->
<script src="bundle.js"></script>
</body>
</html>
进行编译打包程序
webpack
安装webpack开发服务器。启动服务后,在浏览器输入http://localhost:8080可访问
npm install webpack-dev-server --save-dev
修改webpack.config.js文件,添加热启动插件。在修改脚本后自动编译并启动服务。
plugins:[
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"development"'
}),
new webpack.HotModuleReplacementPlugin()
]
修改package.json文件
{
"name": "package.json",
"version": "1.0.0",
"description": "webpack-test",
"scripts": {
"dev": "webpack-dev-server --devtool eval --progress --colors --hot --content-base build"
},
"author": "wangzhenjia",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-preset-es2016": "^6.24.1",
"babel-preset-react": "^6.24.1",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"webpack": "^3.5.4",
"webpack-dev-server": "^2.7.1"
}
}
运行npm run dev命令启动服务,在浏览器输入http://localhost:8080可访问
npm run dev
参考文章
- https://www.twilio.com/blog/2015/08/setting-up-react-for-es6-with-webpack-and-babel-2.html
- https://fakefish.github.io/react-webpack-cookbook/Getting-started.html
- 大小: 9.6 KB
分享到:
相关推荐
这个"Webpack简易教程"旨在帮助初学者从零开始了解并掌握Webpack的基本用法和配置。 首先,我们来理解Webpack的核心概念: 1. **模块**:Webpack 认为一切皆模块,它可以处理JavaScript文件,也可以处理样式表、...
在这个“webpack打包Ts简易搭建”项目中,我们将探讨如何使用Webpack与TypeScript(Ts)进行配置和构建。 1. **Webpack 基本概念**: - **Entry(入口)**: 项目的起点,Webpack 从这个文件开始构建依赖图。 - **...
《简易Webpack配置解析》 Webpack 是一款强大的模块打包工具,它能够将JavaScript应用从单一的模块转换为一个静态资源文件,便于在浏览器中运行。在我们的"simple-webpack.zip"文件中,我们可以看到一个基础的...
作为“简易webpack”,wheel-webpack 可能简化了以下方面: - **配置简化**:提供预设配置,减少手动配置的复杂度,可能只需要简单的命令行参数即可启动构建。 - **快速上手**:针对初学者,提供了友好的文档和示例...
自己参照搭建的简易demo,直接能跑,目前不含react-route和readx 具体参考文档如下 入门一 https://www.cnblogs.com/baqiphp/p/7647912.html 入门二 https://www.jianshu.com/p/71bbcdc8c1fc typescript配置说明 ...
总结,Tinywebpack作为Webpack的简易版,提供了学习Webpack基础知识的良好平台。通过实践Tinywebpack,开发者能够逐步理解Webpack的工作原理,掌握前端工程化的核心技能,从而在实际项目中灵活运用Webpack,打造高效...
在本教程中,我们将探索如何实现一个简易版的Webpack,这是一个流行的JavaScript模块打包工具。Webpack通过将各种资源(如JavaScript、CSS、图片等)转换和打包成可部署的静态资源,帮助开发者处理复杂的前端项目。...
Typescript+React 初始化项目,配置简易 Webpack。 前言 项目默认配置有 eslint 如果不需要自行移除,src 目录中有建议 demo 可供初学,有问题欢迎探讨。 安装依赖 yarn 开发必读 开发依赖环境 Node 14+,默认端口 ...
**ezypack: 简易的webpack打包** 在JavaScript开发中,webpack是一个非常重要的工具,它能够将我们的源代码转换、打包成浏览器可以运行的格式。`ezypack`是一个简化版的webpack打包工具,旨在帮助开发者快速理解和...
这是一个建造webpack + react项目脚手架的简易教程,参照了的配置方式。每一个例子都有非常详细的建造步骤。 运行并启动项目 克隆项目到本地以后,选择要运行的示例进入到该项目路径下 安装: npm install 运行: ...
Webpack 是一个广泛使用的前端资源模块打包工具,它能够将JavaScript、CSS、图片等不同类型的文件组织在一起,并通过一系列配置和插件进行优化处理。本文将深入解析“make-bundler”项目,这是一个简易版的Webpack...
leetcode15题 前言 通过大家以及网上的一些blog,以及平时看大家面试的一些问题,来剖析延伸前端知 识点,从点到面的学习前端。...webpack的配置项 webpack原理 手写简易webpack 使用webpack优化项目有哪些点 网络 HTTP
标题提到的"多页开发简易脚手架移植性高新增了apppc分开配置",意味着这是一个专门针对多页面应用开发的脚手架,具有高度的可移植性和额外的apppc配置功能。 首先,让我们深入了解一下这个脚手架的关键特性: 1. *...
Webpack通过配置文件(webpack.config.js)来定制打包流程,支持加载器(Loader)和插件(Plugin)扩展功能,如Babel转译ES6+语法、热模块替换(HMR)等。 这个项目展示了如何整合这些技术,构建一个功能完备的SPA...
说明: ...简易的配置(仅供参考) webpack分为了生产环境和开发环境 开发环境: webpakc.dev.js + webpack.common.js 生产环境: webpack.dll.js<解放第三方库需要预先编译>+webpack.pro.js+we
webpack-test本测试demo目的是编写一个简易的webpack,实现模块化打包功能目录结构:打包的js文件: lib/index.jsdemo打包的主入口: bin/init路径的一些配置: webpack.config.js需打包的代码文件: demo/src打包后...
3. **配置文件**:压缩包可能包含配置文件,如`webpack.config.js`,用于配置构建工具(如Webpack)。Webpack可以处理模块依赖,打包和优化代码,使其更适合生产环境。 4. **模板文件**:脚手架通常会提供一些基本...
预设配置是一种快速生成项目的简易方式,而手动配置则提供了更多的定制选项,如选择使用的包管理器(npm或yarn)、是否使用Vue Router、Vuex以及选择需要的Babel、PostCSS和ESLint配置等。 Vue CLI 3会将项目的配置...