【webpack】构建webpack项目

前提

已经安装node和npm。
创建一个文件夹,这里创建的是webpacklearn文件,cd到该文件夹下,输入命令(快速初始化项目)

npm init --yes

执行这个命令之后根目录下会多出一个package.json文件。


创建步骤

First
安装webpack及webpack-dev-server(用于开发的本地服务器)

$ npm i -g webpack webpack-dev-server

Second
根目录下创建src文件夹,src文件夹下创建index.js

document.write("learning Webpack")

根目录下创建config文件夹(专用于放置配置文件),然后在config下创建配置文件webpack.config.js;

var path = require('path');

module.exports = {
  entry: './index.js',                     //项目入口
  context: path.resolve(__dirname, "./../src"),   //webpack在寻找入口文件时会以此为根目录
  output: {                
    path: path.resolve(__dirname, './../dist'),    //要输出的路径
    filename: 'bundle.js'                     //打包后的输出文件
  },
  mode: 'production',
  devServer: {
  	contentBase: path.join(__dirname,'./..)   //告诉服务器从哪里提供内容。默认当前工作目录
  }
};

Third
在package.json文件的scripts键下添加这两项。

    "build": "webpack --config config/webpack.config.js",
    "dev": "webpack-dev-server --config config/webpack.config.js"

其中,第一项代表当执行npm run build时会执行webpack --config config/webpack.config.js命令,简化了打包时的操作。
第二项代表当执行npm run dev时会开启本地服务器,默认地址是localhost:8080(也可以自己配置打开的地址)。

Fourth
根目录下创建index.html文件。引入bundle.js

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Webpack</title>
</head>
<body>
	<script type="text/javascript" src="bundle.js"></script>
</body>
</html>

Fifth
cd到项目根目录输入命令npm run dev,提示本地服务器已启动,打开localhost:8080可以看到页面上输出了learning Webpack
输入命令npm run build,执行打包命令,成功后可以看到根目录下生成一个文件夹dist,其中包含了文件bundle.js。(注意,index.html不能直接在file:路径下打开。)


结语

至此,webpack项目创建完成。


补充

一、模块热替换HMR
如若需要启动模块热替换(HMR - Hot Module Replacement)功能(即在应用程序运行过程中替换、添加或删除模块,而无需重新加载整个页面),只需要在webpack.config.js文件下的’devServer’键下追加

hot: true,
inline: true

然后在package.json文件下,对"dev"作出以下修改:

"dev": "webpack-dev-server --config config/webpack.config.js --inline --hot"

重新启动本地服务器npm run dev,打开localhost:8080。
在index.js中改learning为hello,无需刷新,即可看到页面自动更改为hello webpack

二、关于webpack4.0+版本
如果你的webpack版本是4.0+的版本,当你运行时会报以下错误,提示cli需要另外安装。

The CLI moved into a separate package: webpack-cli
Please install ‘webpack-cli’ in addition to webpack itself to use the CLI

故此时需要运行命令npm i -D webpack-cli
如果安装webpack-cli之后,还一直报以上错误,则有可能是因为webpack是全局安装,所以webpack-cli也同样需要全局安装npm i -D webpack-cli -g

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Webpack构建React应用,可以按照以下步骤进行操作: 1. 首先,在项目根目录下创建一个package.json文件,可以使用命令`npm init -y`快速创建。 2. 接下来,安装所需的依赖包。至少需要安装以下几个包:webpackwebpack-cli、babel-loader、@babel/core、@babel/preset-react 和 react。 可以通过运行以下命令来安装这些包: ```shell npm install webpack webpack-cli babel-loader @babel/core @babel/preset-react react ``` 3. 在项目根目录下创建一个名为`webpack.config.js`的文件,用于配置Webpack。 在该文件中,至少包含以下内容: ```javascript const path = require('path'); module.exports = { entry: './src/index.js', // 入口文件 output: { path: path.resolve(__dirname, 'dist'), // 输出目录 filename: 'bundle.js' // 输出文件名 }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-react'] } } } ] }, resolve: { extensions: ['.js', '.jsx'] } }; ``` 上述配置中,entry指定了入口文件,output指定了输出目录和文件名,module.rules中的配置指定了Babel加载器的使用,resolve.extensions配置允许在导入模块时省略后缀名。 4. 在根目录下创建一个名为`src`的文件夹,并在其中创建一个`index.js`文件,作为React应用的入口文件。 ```javascript import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; // 你的React组件文件 ReactDOM.render(<App />, document.getElementById('root')); ``` 5. 创建一个名为`App.js`的文件,并在其中编写React组件的代码。 ```javascript import React from 'react'; function App() { return <h1>Hello, React!</h1>; } export default App; ``` 6. 最后,在命令行中运行以下命令来构建React应用: ```shell npx webpack ``` 这将会在项目根目录下创建一个`dist`文件夹,并在其中生成一个`bundle.js`文件。这个文件就是Webpack构建后的输出文件。 现在,你已经成功使用Webpack构建了一个基本的React应用。你可以根据需要进一步配置和优化Webpack,以满足项目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值