webpack成长指北第4章---webpack配置文件

简介: webpack成长指北第4章---webpack配置文件


为什么需要webpack配置文件

之前我们执行 npx webpack <打包的入口文件路径> 就能对项目进行打包

npx webpack ./index.js   // 让webpack打包index.js文件,(指定index.js为项目的入口文件)

但是如果只输入npx webpack ,默认情况下webpack就不知道入口文件是哪个,打包就会出错,而且执行 npx webpack <打包的入口文件路径>能打包成功,是因为webpack本身就有默认配置,如果我们需要自定义配置webpack的打包,就需要创建一个webpack的配置文件,这样就能自定义打包了

编写业务代码

  • 目录结构

    Header.js
function Header() {
  const dom = document.getElementById('root');
  const header = document.createElement('div');
  header.innerText = 'Header';
  dom.append(header);
}
export default Header; // ES Module 导出
  • Content.js
function Content() {
  const dom = document.getElementById('root');
  const content = document.createElement('div');
  content.innerText = 'Content';
  dom.append(content);
}
export default Content; // ES Module 导出
  • SideBar.js
function SideBar() {
  const dom = document.getElementById('root');
  const sideBar = document.createElement('div');
  sideBar.innerText = 'SideBar';
  dom.append(sideBar);
}
export default SideBar; // ES Module 导出
  • index.js
import Header from './src/components/Header/Header'; // ES Module 引入
import Content from './src/components/Content/Content'; // ES Module 引入
import SideBar from './src/components/SideBar/Sidebar'; // ES Module 引入
new Header();
new Content();
new SideBar();
  • index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- 解决没有favicon.ico时报错GET http://localhost:9999/favicon.ico 404 (Not Found) -->
  <link rel="shortcut icon" href="#" />
  <title>webpack学习</title>
</head>
<body>
  <div>这是webpack学习</div>
  <div id="root"></div>
  <script src="./dist/main.js"></script>
</body>
</html>

创建webpack配置文件

  • 在项目文件夹根目录创建webpack.config.js(默认情况下必须是这个名),再直接运行npx webpack,webpack就会自动在根目录寻找webpack配置文件,就可以进行打包文件了
  • 如果配置文件名不是webpack.config.js,想以xxx.js作为webpack的配置文件进行打包,则npx webpack --config xxx.js,就会以xxx.js作为配置文件进行打包

编写webpack.config.js

const path = require('path'); // 由于webpack无法直接操作文件夹,所以需要引入node的path模块
module.exports = {
  entry: './index.js',  // 指定当前目录的index.js为打包的入口文件
  output: {
    filename: 'main.js', // 打包后输出的打包文件的文件名
    path: path.resolve(__dirname, 'dist'), // 指定打包后输出的打包文件在当前webpack.config.js所在文件夹的绝对路径的dist文件夹下
  }
}

配置package.json的script指令

打包

执行

npm run bundle

将生成的dist目录下的main.js引入index.html中

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- 解决没有favicon.ico时报错GET http://localhost:9999/favicon.ico 404 (Not Found) -->
  <link rel="shortcut icon" href="#" />
  <title>webpack学习</title>
</head>
<body>
  <div>这是webpack学习</div>
  <div id="root"></div>
  <script src="./dist/main.js"></script>
</body>
</html>

运行成功

目录
相关文章
|
2月前
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
29 0
|
2月前
|
Web App开发 JSON 前端开发
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
88 0
|
2月前
|
JSON 前端开发 JavaScript
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)(上)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
69 0
|
2月前
|
Web App开发 前端开发 JavaScript
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)(下)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
39 0
|
2月前
|
编解码 资源调度 前端开发
Webpack+Babel手把手带你搭建开发环境(内附配置文件)
Webpack+Babel手把手带你搭建开发环境(内附配置文件)
31 0
|
12月前
|
编解码 资源调度 前端开发
Webpack+Babel手把手带你搭建开发环境(内附配置文件)
Webpack+Babel手把手带你搭建开发环境(内附配置文件)
102 0
|
JavaScript 前端开发 开发者
webpack 配置文件的使用| 学习笔记
快速学习 webpack 配置文件的使用
78 0
|
JavaScript
vue+webpack实现vue打包后生成配置文件用以外部修改公共路径
vue+webpack实现vue打包后生成配置文件用以外部修改公共路径
607 0
vue+webpack实现vue打包后生成配置文件用以外部修改公共路径
|
移动开发 JSON JavaScript
webpack.config.js配置文件
Webpack 在执行的时候,除了在命令行传入参数,还可以通过指定的配置文件来执行。默认情况下,会搜索当前目录的 webpack.config.js 文件,这个文件是一个 node.js 模块,返回一个 json 格式的配置信息对象,或者通过 --config 选项来指定配置文件。
2534 0
|
前端开发 CDN JavaScript
2.2.4 webpack 配置文件
上一级使用 webpack 及其 loader 对前端代码进行构建的方法还不够简单,缺点如下。 每次构建都需要指定项目的入口文件(./index.js)与输出文件(./bundle.js) 使用 loader 都需要 xxx! 的形式,意味着每个有 require CSS 资源的地方,都需要写 require('style!css!./index.css'); 使用配置文件进行优化:webpack 支持 Node.js 模块格式的配置文件,默认回使用当前目录下的 webpack.config.js,配置文件只需要 export 的一个配置信息对象即可。
917 0