webpack编译打包

news/2024/10/18 22:27:49/

1.安装webpack

npm install webpack webpack-cli --save-dev


 

2.添加命令

在package.json文件中添加启动命令


 

3.打包

webpack.config.js文件

通过配置文件构建:npx webpack --config webpack.config.js

4.文件结构

src:用于存放代码,一般入口为index.js

index.html:默认的启动文件

webpack.config.js:自定义配置

dist:打包输出目录

可以通过修改webpackconfig.js进行修改配置,mode为production代码会压缩,未使用到的代码不会编译;为development时,连注释的代码也打包进去了

5.启动项目

运行打包后的项目,

可以通过cd 到dist目录,然后通过在所在目录运行命令npx serve启动,默认页面是该目录下的index.html文件,如无则显示该目录下列表

6.未使用不打包编译

不使用不编译,即使import导入了。使用到了的才会编译打包,但是默认编译的代码没有进行转换,比如箭头函数、promise等。

入口文件index.js从a.js和b.js引入了一些东西,自身定义了一个test函数,但是并没有使用到,打包后的/dist/main.js中的内容为空!

注意:如果引入了node_modules下面的包,只要导入了就会被打包进去

引入了node_modules下面的包,只要导入了就会被打包进去

通过npm i lodash安装,然后引入lodash,lodash被打包进去了,虽然没有使用到:

 lodash被打包进去了:

打包后的为空: 


7.只会打包使用东西

但是这里只进行了打包操作,但是并没有对代码进行转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。这里可以通过配置解决这个问题,因为默认是只有打包。

8.babel

npm install -D babel-loader @babel/core @babel/preset-env webpack

然后配置rules

9.loaders

有css、less、图片导入等loader

10.导出

我在src/index.js文件中导出了几个东西,但是打包后并没有什么用,需要在

webpack.config.js设置library,这里要设置导出的,会挂载在window上,window.ouyang

module.exports = {mode: "production",//production|developmententry: './src/index.js',//打包编译入口,这里可以是数组导出多个['./src/a.js', './src/b.js']output: {filename: 'main.js',//输出名字path: path.resolve(__dirname, 'dist'),//输出地址clean: true, // 在生成文件之前清空 output 目录// https://webpack.docschina.org/configuration/output/#outputlibrary// 这里要设置导出的,会挂载在window上,window.ouyanglibrary: "ouyang",libraryTarget: 'window',libraryExport: 'default'}
}

11.自动打包

先安装这两个插件

npm i html-webpack-plugin

npm i webpack-dev-server -D

体验了下,没有vite更新快。。。

配置:

const HtmlWebpackPlugin = require("html-webpack-plugin"); // 引入 html-webpack-plugin 插件plugins: [new HtmlWebpackPlugin({// 以 public/index.html 为模板创建文件// 新的html文件有两个特点:1. 内容和源文件一致 2. 自动引入打包生成的js等资源template: path.resolve(__dirname, "/public/index.html"),}),],// 开发服务器devServer: {host: "localhost", // 启动服务器域名port: "6260", // 启动服务器端口号open: true, // 是否自动打开浏览器
}

 


http://www.ppmy.cn/news/494504.html

相关文章

VUE 2X 前置配置及使用 ①

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs V u e Vue Vue前置配置初识 V u e Vue Vue入门效果总结 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨…

FusionComputeV100R006C10SPC101平台安装win10踩坑记

生产环境中有一套华为FusionCompute,版本比较老,V100R006C10SPC101,该产品已EOS了,无法升级。因业务需要,需安装Windows10系统,遇到了不少坑,在此记录一下。 一、坑1:Windows10版本…

基于matlab的扩频解扩误码率完整程序分享

clc; clear; close all; warning off; addpath(genpath(pwd)); r5; N2^r-1;%周期31 aones(1,r); mzeros(1,N); for i1:(2^r-1) temp mod((a(5)a(2)),2); for jr:-1:2 a(j)a(j-1); end a(1)temp; m(i)a(r); end mm*2-1;%双极性码 %产生随…

手机企业纷纷放弃富士康,郭台铭的代工王国面临困扰

近日媒体报道指苹果将与和硕合作在印度建设手机制造厂,此前它已与纬创合作在印度建厂,而最大代工企业富士康却一直没有与苹果合作在印度建厂,似乎显示出手机企业对富士康的态度已有很大转变。 富士康的最大客户是苹果,不过近几年来…

富士康和苹果的印度制造计划受挫,还是中国制造更可靠

据悉从5月份以来,苹果和富士康等代工厂在印度的生产计划由于疫情受挫,不得不将订单转回中国,为此大幅增加对招聘员工的奖金,奖金最高达到7500元。 中国是全球最大的制造国,而富士康也正是依托于中国市场发展起来的&…

云上接单不空跑 京东云助力“佬司机”为货运物流业降本增效

李师傅当了三年多的货车司机,经常穿行在陕蒙川三省(区)之间,跟很多同行一样,货源信息匮乏一直是让他犯愁的事。直到一款手机应用软件的出现,让困扰他的难题得到解决。 “这一单刚完下一单订单就已经发过来了,基本上运…

乔布斯在发布会上“复活”了,英特尔却很忧伤

NEW 关注Tech逆向思维视频号 最新视频→【自我了断?为什么他们要自己割包皮】 出品|盒饭财经 文|姚赟 名字是最显性的标签,呈现出你希望向这个世界传递的信息。苹果似乎把芯片作为正式的产品在做,延续了一贯产品的pro、Max的命名规…

苹果内地最大代工厂被曝大幅裁员!这家库克曾点赞的企业怎么了?

新智元报道 来源:集微网 综合整理:小匀 【新智元导读】立讯精密是苹果产业链在内地最大的代工厂之一,近些年受益于苹果,甚至有「取代富士康」的可能。不过今年以来,其股价暴跌,而且其位于江西省吉安市的立…