安装webpack
npm i webpack --save-dev
如果使用 -g参数,可以安装到全局使用,在当前目录安装,可执行文件为 ./node_modules/.bin/webpack
配置webpack.config.js
var path = require('path'); module.exports = { entry: path.resolve(__dirname, 'src/index.js'), output: { path: path.resolve(__dirname, 'build'), filename: 'bundle.js', }, };
entry为打包的入口文件,output为打包后生成的文件名及路径。
源代码可以编写成多个文件,然后由入口文件调用组装,相互独立的组件最好分别单独写在一个文件中
打包源文件
在当前目录执行webpack 或 ./node_modules/.bin/webpack 命令,就可以将源文件打成生成build/bundle.js文件,网页中直接作用<script src="build/bundle.js"></script>来调用即可
本地开发调试
先安装 webpack-dev-server
npm i webpack-dev-server --save
在package.json文件中scripts下面添加相应的配置(可以使用npm init来生成package.json文件)
{ "scripts": { "build": "webpack", "dev": "webpack-dev-server --port 8080 --inline --content-base ./build" } }
--inline加入该参数可以实现自动刷新,
在当前目录执行 npm run dev,执行完成后,在文件夹build中新建index.html,加入如下代码
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tests</title> </head> <body> <div id="react-content"></div> <script src="./bundle.js"></script> </body> </html>
在浏览器中打开 http://localhost:8080 就可以实时查看效果,修改后代码后,需要刷新才能查看到效果。执行npm run build可以打包,相当于执行webpack命令
Cannot GET / 错误
是由于package.json中的
"dev": "webpack-dev-server --devtool eval --progress --colors --hot --content-base build"
build文件夹不存在
配置react和babel
安装react
npm install react --save安装babel相关组件,让webpack自动转换jsx,
npm install babel-loader babel-core babel-preset-react babel-preset-es2015 --save-dev
在webpact.config.js的module的loaders中增加相应配置
module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', // 'babel-loader' is also a legal name to reference query: { presets: ['react', 'es2015'] } } ] }
配置完成后,在js或jsx文件中就可以直接写jsx语法
babel编译es6和jsx
先安装babel-cli
npm install -g babel-cli
再执行
babel src -d dist --presets react,es2015
src 为源文件目录,dist为编译输出目录,--presets 预置插件
支持es7语法
es7语法分四个阶段分别对应四个插件
babel-preset-stage-0
babel-preset-stage-1
babel-preset-stage-2
babel-preset-stage-3
选择一个加载就能正确解析es7语法
配置.less
先安装less编译器
npm install less css-loader less-loader style-loader --save-dev
在webpact.config.js的module的loaders中增加相应配置
{test: /\.less$/,loader: "style!css!less"}
配置图片及字体文件
安装url-loader,修改webpact.config.js的module的loaders中增加相应配置
{test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=50000&name=[path][name].[ext]'}
react,babel只能安装在当前目录,安装在全局无效,提交到github时需要把这些模块排除掉
npm安装依赖
在当前目录执行npm install会根据当前目录下的package.json文件,把需要的依赖都下载安装
npm升级到3
npm install npm@3.0
相关推荐
这里,我们设置了入口文件(entry),输出文件(output),并配置了一个规则(rule),使用`babel-loader`处理`.jsx`和`.js`文件,应用`@babel/preset-react`预设以转换JSX语法。 5. **安装Babel**:运行`npm ...
在这个"webpack打包react项目的模版"中,我们主要会探讨如何配置和使用Webpack来构建React应用。 1. **Webpack 基本概念** - **入口(Entry)**:Webpack 打包的起点,定义了应用的主文件,通常为 `index.js` 或 `...
在这个"Webpack+React+ES6+JSX+CSS实例"中,我们将探讨如何整合这些技术来构建一个React组件,并结合CSS进行打包。 React 是一个用于构建用户界面的JavaScript库,尤其擅长构建单页应用。它基于组件化思维,允许...
标题"react 支持 ie8 demo webpack打包"表明我们将讨论如何通过Webpack配置和Babel转译,使得一个React项目能在IE8上正常运行。这是一个常见的问题,因为许多企业仍然需要支持老旧的浏览器。 描述中提到的"提供打包...
1. **配置Babel**:设置`.babelrc`或在`webpack.config.js`中配置Babel,以使用`@babel/preset-env`和`@babel/preset-react`。 2. **配置Webpack**:设置入口、输出、模块加载器和解析规则。 3. **处理静态资源**:...
7. 创建webpack.config.js配置文件,配置规则,例如使用正则表达式/test: /\.js$/来匹配所有.js文件,并通过babel-loader来处理它们。 8. 最后,编写React组件代码,通过npm run build命令来打包应用,然后将生成的...
React 应用通常有一个主入口文件,例如 `index.js`,它是 Webpack 的入口点,从这里开始遍历并打包所有依赖。 `dist` 文件夹是 Webpack 打包后的输出目录,这里包含了经过处理和优化的代码,可以直接部署到服务器供...
使用这些打包文件,开发者可以快速搭建React环境,通过Babel处理JSX和新语法,然后通过react-dom将React组件渲染到网页上,从而构建出响应式的、高效的前端应用。对于初学者,这个压缩包提供了一站式的解决方案,...
综上所述,"Webpack打包React支持多入口"意味着配置Webpack以处理多个入口文件,并为React应用提供适当的加载器、环境区分、热加载等功能。这样的配置使得开发和维护大型React项目变得更加高效和方便。
标题 "react-native转react-web, react+redux, webpack打包" 描述了将React Native项目转换为Web应用,并结合React和Redux进行开发以及使用Webpack进行打包的过程。这是一个涉及到多个技术栈和流程的知识点集合,让...
本文将详细介绍如何搭建基于React、Webpack和Babel的开发环境,并通过`webpack-dev-server`实现热更新功能。 #### 二、环境准备 1. **安装Node.js**: 确保已安装最新版本的Node.js,可以通过官网下载或使用包管理器...
React应用通常需要Babel来编译 JSX 语法。 5. **开发服务器**:如`webpack-dev-server`,提供热模块替换(HMR),在代码更改时自动重新加载页面,加快开发流程。 6. **测试框架**:如Jest和Enzyme,用于编写单元...
总结,基于Webpack搭建React脚手架涉及的关键步骤包括:安装Webpack和相关依赖,初始化React项目,配置Webpack以处理JSX、CSS和静态资源,以及选择合适的项目模板加速开发。理解并掌握这些步骤,能帮助开发者更高效...
**Webpack 配合 React 构建自动化与项目打包** 在现代前端开发中,Webpack 已经成为不可或缺的模块打包工具,它能够有效地管理和优化我们的代码。React 作为一款流行的JavaScript库,用于构建用户界面,与Webpack...
在本文中,我们将深入探讨如何在不使用`create-react-app`的情况下,手动配置一个React项目,结合Webpack和Babel进行构建。这个过程涉及到的主要知识点包括React的基础知识、Webpack的配置原理以及Babel的转译机制。...
这将自动配置好 Webpack 并安装 React 相关依赖。 3. **自定义配置**:虽然 `create-react-app` 提供了开箱即用的配置,但若需自定义 Webpack 配置,可运行 `npx create-react-app my-app --template cra-template-...
标题 "nodejs + webpack + react" 暗示了我们讨论的是一个基于Node.js环境的前端项目,其中使用Webpack作为模块打包工具,并结合React库来构建用户界面。这个项目利用Webpack的强大功能,如自动化打包、模块管理和...
3. **生产模式**:当准备部署时,执行`npm run build`,Webpack将进行优化并打包所有资源到dist目录,适配生产环境。 4. **添加新页面**:根据现有的页面结构,创建新的React组件和Webpack配置,然后在主配置文件中...
### React + Webpack + Babel 项目搭建指南 本文旨在为初学者提供一套关于如何从零开始搭建一个基于React、Webpack以及Babel的前端项目的详细教程。通过本指南的学习,您将能够掌握基本的项目配置流程,并理解这些...
在本项目“webpack-dev-boilerplate”中,它结合了React(一种流行的JavaScript库用于构建用户界面)、Webpack 和 Babel,为开发者提供了一个快速启动的前端开发环境。 React 是Facebook推出的用于构建用户界面的库...