首页 > 其他分享 >什么是webpack

什么是webpack

时间:2023-01-14 14:13:57浏览次数:41  
标签:const 什么 js webpack html path dist

  • 一、webpack是什么

    webpack 是一个用于现代 JavaScript 应用程序的静态模块化打包构建工具

    模块化:服务端Common.js(module.exports,require),浏览器端ES Module(export,export default,import {} from xxx)

    src目录 你写的源代码

    

  npm run build

  dist--index.html,js css

 

  • 二、webpack快速使用

    2.1 初始化package.json

   

 npm init -y

 


    2.2 安装webpack相关依赖

   

 npm i webpack webpack-cli -D

 

  • 2.3 写一点点测试代码   
 src index.js,tools.js

 public index.html 引入dist/main.js

 

  • 2.4 在package.json中添加打包脚本
{
....
"scripts": {
"build":"webpack"
},
...
}

 

  • 2.5 编写webpack配置文件
编写webpack配置文件,让webpack实现灵活环境定制,如下:

//引入相关依赖
const webpack = require('webpack')
const path=require('path')
​
//创建一个webpak配置对象
const config = {
//设置模式
mode:'development',
//配置入口
entry:'./src/main.js',
//配置出口
output: {
//打包路径
path:path.resolve(__dirname,'dist'),
//打包文件名 
filename: 'js/bundle.js',
//清理无用文件
clean:true

}
}
​
​
//抛出对象
module.exports=config

 

  • 2.6 安装webpack服务器
安装webpack-dev-server: npm i webpack-dev-server -D

配置webpack.config.js

{
....
​
//配置webpack服务器
devServer: {
port: 9999,
//静态目录位置
static: {
directory:'dist'
}
}
....
}
配置package.json运行脚本

{
...
"scripts": {
"build": "webpack",
"serve": "webpack serve"
},
...
}

 

  • 2.7 自动注入html
安装html-webpack-plugin: npm i html-webpack-plugin -D

配置webpack.config.js

//引入相关依赖
const webpack = require('webpack')
const path = require('path')
//引入html-webpack-plugin
const HtmlWebpackPluin=require('html-webpack-plugin')
​
//创建一个webpak配置对象
const config = {
//设置模式
mode:'development',
//配置入口
entry:'./src/main.js',
//配置出口
output: {
//打包路径
path:path.resolve(__dirname,'dist'),
//打包文件名 
filename: 'js/bundle[contenthash].js',
//清理无用文件
clean:true

},
//配置插件
plugins: [
new HtmlWebpackPluin({
//从哪个模板生成html
template:'./public/index.html',
//生成后的html文件名
filename:'index.html'
})
],
//sl
//配置webpack服务器
devServer: {
port: 9999,
//静态目录位置
static: {
directory:'dist'
}
}
}
​
​
//抛出对象
module.exports=config

 

标签:const,什么,js,webpack,html,path,dist
From: https://www.cnblogs.com/funtake/p/17051674.html

相关文章

  • [0]为什么是SpinalHDL-Spinal简介
    [0]为什么是SpinalHDL-Spinal简介1.verilog/VHDL打咩稍微先说两句SpinalHDL,硬件描述语言(HDL)分为verilog/VHDL和其他(雾),不过确实是这样,众多eda基本只对这两种语言有良好支......
  • electron-webpack-react-antd环境搭建
    详细实现方式以及代码下载请前往 https://www.passerma.com/article/81一、项目初始化mkdirelectron-webpack-react-antd&&cdelectron-webpack-react-antdyarnini......
  • 【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如
    前言最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。......
  • 简述 Spring Cloud 是什么
    很多同学都了解了Spring,了解了SpringBoot,但对于SpringCloud是什么还是比较懵逼的。本文带你简单的了解下,什么是SpringCloud。SpringCloud是什么从字面理解,Spring......
  • 为什么用Ghost备份后会有两个文件?
    今天用Ghost备份WIN2000后,发现有两个文件,一个是D.GHO,另外一个则是D0000001.GHS。为什么呢? 我研究后发现:Ghost镜像文件最大只支持到2G,如果超过了2G的话,大于2G的部分Ghost就......
  • 什么是 HTTP?
    什么是HTTP?超文本传输协议(HTTP)是万维网的基础,用于通过超文本链接加载网页。HTTP是应用程序层协议,旨在在联网设备之间传输信息,并在网络协议栈的其他层之上运行。HTTP......
  • 数据库方式实现方案?有什么缺陷?
    MySQL为例我们将分布式系统中数据库的同一个业务表的自增ID设计成不-样的起始值,然后设置固定的步长,步长的值即为分库的数量或分表的数量。以MySQL举例,利用给字段设置auto__......
  • 什么是勒索病毒?有哪些危害?如何预防?
    勒索病毒是泛指一切通过锁定被感染者计算机系统或文件并施以敲诈勒索的新型计算机病毒,通过计算机漏洞、邮件投递、恶意木马程序、网页后门等方式进行传播,一旦感染,磁盘上几乎......
  • 打火机出亚马逊需要做什么标准测试呢?
    最近很多客户过来咨询,亚马逊上有人投诉产品安全问题,亚马逊要求提供UL报告,怎么办?特别是安全电气类产品,很多卖家不约而同的提出同样的问题。不要着急,我司已经处理过很多类似产......
  • 我希望我的国际学校老师了解关于我的什么?
    香港—原文发表于国际学校杂志2017年的一月期刊,我们其中一个类似工作讨论的引导师,JaneBarron(M.Ed)研究关于移动性对于学习的影响及通过一个全球移动的学生视野里国......