如何成功安装webpack

news2025/2/25 2:28:42

按照B站里的视频总是报错,于是去CSDN里尝试了多种方法,也不知道是哪种方法有效了,叠加了多种方法,都记下来。

 

做换行变色的例子时不会变色。因为jQuery包属于es6语法,并不是所有浏览器都能支持es6语法。因此,使用webpack来处理。

打包:可以把多个Javascript文件打包成一个文件,减少服务器压力和下载带宽。

转换:把拓展语言转换成为普通的JavaScript,让浏览器顺利运行。

优化:前端变的越来越复杂后,性能也会遇到问题,而WebPack也开始肩负起了优化和提升性能的责任。

1)安装

npm install -g webpack //全局安装webpack

(备注如果这样安装会出现提示安装webpack-cli;这是4.x的提示,如果不想安装webpack-cli需重新安装低版本webpack

2

全局安装完成后,我们还要进行一个项目目录的安装。在用npm安装前,我们先要进行一下初始化,

初始化的主要目的是生成package.json文件(这是一个标准的npm说明文件,里面蕴含了丰富的信息,

包括当前项目的依赖模块,自定义的脚本任务等等,如果你对此文件还不了解,可以看看node 的相关知识)。

npm init//初始化项目,可以一路回车生成的package.json文件

npm install --save-dev webpack@3.6.0 //官方不太支持全局安装,会锁定版本,因此对项目目录安装

3)安装完成后可以查看版本号 webpack –v

(4)安装完成后新建webpack.config.js配置文件基本配置(查阅相关资料,发现原来是webpack4.0以上版本可以不需要用配置文件来进行打包。

决定继续采改了配置文件的用文件配置进行打包。于是修代码。

最终成功的配置:

(5)Webpack.config.js里面的

const path= require('path')

//使用法Node.js中的导出语,向外导出一个webpack的配置对象
module.export = {
    //入口文件
    entry:path.join(__dirname,'src/index.js'),
    //出口路径
    output:{
        //输出的文件名
        filename:'bundle.js',
        //输出路径
        path: path.join(__dirname,'dist')
    },
    //代表webpack运行的模式,可选值有两个development和production,当开发阶段是development,当快上线时,改成production.
    mode:'development'

}

(6)Package.json里面的

{
  "name": "change-rows-color",
  "version": "1.0.0",
  "description": "npm-install-package",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build":"webpack"
  },
  "keywords": [],
  "author": "",
  "private": "true",
  "license": "ISC",
  
  "dependencies": {
    "jquery": "^3.6.1"
  },
  "devDependencies": {
    "webpack": "^5.74.0",
    "webpack-cli": "^4.10.0"
  }
}

"description": "npm-install-package",

这句本来是空的,添加进去的

"private": "true",

是添加的

"devDependencies": {

    "webpack": "^5.74.0",

    "webpack-cli": "^4.10.0"

  }

是安装好webpack生成的

(7)另外在这里改index.html

 <script src="../dist/main.js"></script>

配置好后在当前文件夹的命令行里对配置文件进行更新

(8)npm webpack--config webpack.config.js

(9)新建一个dist文件夹。

文件夹的目录建立如下:

(10)然后执行npm run build运行webpack

成功的结果如下

最后在html里点击在浏览器里执行就可以发现换行变色的。

在mian.js里面的代码目前还没有被压缩,jquery本身就做了压缩,只要有注释和回车换行的地方,就表示webpack没有压缩,如何使用webpack进行压缩

只需要把webpack里面的配置选项从development,转化为production

Development:打包的速度快,体积大,但开发的时候追求的是速度

Production:打包速度较慢,但是打包的体积小,在上线的时候用

Development:

Production:

发现安装的还有一点问题,默认就是压缩了

少了个逗号,在mode设置的一行

Development:

Production:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

resetFields重置初始值不生效的原因

问题 最近在做项目的时候, dialog组件回调close里面 一般我都会加个resetFields 重置初始值和校验 其他地方都没问题, 在table组件里面出问题了, 后来经过监听vue tools, 查看到resetFields后, formData没变, 最后也找到原因了. 解决 1、用 dialog【新增】、【修改】数据 2、…

uniapp 项目搭建

1、uni-app 简介 uni-app 是一个使用 Vue.js 开发所有前端应用的框架。开发者编写一套代码&#xff0c;可发布到 iOS、Android、H5、以及各种小程序&#xff08;微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xff09;、快应用等多个平台。 详细的 uni-app 官方文档&#xff0c;请翻…

一个简单的网页设计HTML5作业

前言&#xff1a; HTML5是Web中核心语言HTML的规范&#xff0c;用户使用任何手段进行网页浏览时看到的内容原本都是HTML格式的&#xff0c;在浏览器中通过一些技术处理将其转换成为了可识别的信息。HTML5在从前HTML4.01的基础上进行了一定的改进&#xff0c;虽然技术人员在开发…

如何在vue项目中使用rem布局

如何在vue项目中使用rem布局 场景&#xff1a; 在我们开发移动端项目中&#xff0c;实现手机页面布局&#xff0c;需要使用rem布局&#xff0c;那么该如何使用呢&#xff1f; 本文就详细的讲解了在vue项目中使用rem布局的整个过程&#xff0c;可以仔细阅读哦&#xff01; 方法&…

对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson

文章目录一、 json-lib二、 Google的Gson1.简介2. 配置步骤1. MAVEN 依赖引入2. gsonUtil 工具类3. 排除不要序列化的熟悉注解类 Exclude三. 阿里巴巴的FastJson1.简介2.配置步骤1.引入maven2. 配置 CustomFastjsonConfig3. 测试4. 开源的Jackson简介&#xff1a;Jackson配置Ob…

手把手教你入门Vue,猴子都能看懂的教程

目录标题一、Vue简介二、模板语法2.1 插值语法2.2 指令语法三、数据绑定3.1 单向数据绑定3.2 双向数据绑定四、写法区别4.1 el写法4.2 data写法五、MVVM模型六、数据代理七、事件处理7.1 基本使用7.2 修饰符7.3 键盘事件7.3.1 系统提供7.3.2 原始key值7.3.3 系统修饰键八、计算…

【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿 offer&#xff08;秋招&#xff09; &#x1f947;推荐学习&…

微信小程序实现文字长按复制、一键复制功能

一、不引入外部组件的实现方式 <!-- index.wxml --> <view><!-- 长按复制 --><view bindlongtap"copyText" data-key"{{item.cdkey}}">{{ item.cdkey }}</view><text bindlongtap"copyText" data-key"{{i…

【Web实战-Tomcat-Servlet-Thymeleaf -JDBC-MySQL】浏览器页面显示数据库数据(水果库存系统)

&#x1f947;作者 .29. 的✔博客主页✔ &#x1f947;记录JavaWeb学习的专栏&#xff1a;Web专栏 &#x1f947;拼搏起来吧&#xff0c;未来会给你开出一个无法拒绝的条件… 您的点赞&#xff0c;收藏以及关注是对作者最大的鼓励喔 ~~ 客户端展示库存数据前言一、Thymeleaf - …

每天一个CSS小特效,文字闪烁——【钢铁侠:爱你三千遍】

文章目录前言效果图HTML篇CSS篇1. 盒子模型设置2. 动画设置完整代码前言 我是前端小刘不怕牛牛&#xff0c;love you 3000&#xff0c;愿你能遇到值得的人。 今天分享一个唯美的文字闪烁CSS特效 希望大家能喜欢 效果图 HTML篇 代码&#xff1a; <div class"main"…

uniapp中获取dom元素的方法,更改dom元素颜色(遇坑记录)

前言 最近写uniapp&#xff0c;遇到一个需要获取到页面中dom元素&#xff0c;我第一反应是使用this.$ refs进行获取&#xff0c;于是我开心的使用this.$refs写了很多代码&#xff0c;使用h5调试的过程中没有发现任何问题&#xff0c;但后来真机调试的时候发现在app端无效&…

npm安装报错(npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_ca...)

使用npm安装时候报错了 根据网上经验解决方法&#xff1a; 1.删除.npmrc文件 该文件在&#xff1a;C:\Users{账户}\下的.npmrc文件&#xff0c; 一般这种类型的都是默认被隐藏&#xff0c;一定要选择将隐藏取消掉 删掉即可。 注意&#xff1a;当前方式确实是最有效的操作&…

猿创征文|如何在HbuilderX中运行Vue

第一步&#xff1a;安装Node.js 这里不加赘述&#xff0c;是傻瓜式安装 第二步&#xff1a;找到安装的Node在哪里 如果找不到可以打开cmd 输入 where node 第三步&#xff1a;打开HbuilderX 点击工具 选择设置 如图&#xff1a; 选择运行配置 ②③的位置是需要填写的位置 使用我…

vue项目首屏加载过慢解决方案

前言 因为我的一个vue项目首页打开加载了好久&#xff0c;所以决定优化一下。发现是打包体积太大了&#xff0c;页面才加载慢主要是第三方库。 优化着优化着就想要更好一点&#xff0c;于是逛博客搜索&#xff0c;参照了几个博主的解决方法整理出一下几点。​ 一、防止编译文…

如何在vscode里面快速运行html代码(包含如何在vscode里面编写html代码)

前言必读 读者手册&#xff08;必读&#xff09;_云边的快乐猫的博客-CSDN博客 前言&#xff1a; 1.如何在vscode编写html代码在我的另一篇文章当中有详细教程&#xff0c;这是超链接。 2.很多小伙伴编写了html代码后&#xff0c;在vscode里面右键找不到如何去运行代码&…

NProgress的用法

最近&#xff0c;应该很多小伙伴都找到前端开发的工作了吧。怎么样&#xff1f;工作中的代码是不是比机构学的代码复杂很多倍&#xff1f; 比如说 router里面的路由钩子函数是不是比学习的时候复杂很多倍&#xff1f;还有vuex模块是不是会见到许许多多的文件夹&#xff0c;每个…

vue长列表优化之虚拟列表实现

vue长列表优化之虚拟列表实现 应用场景:后台一次性发送上千条或更多数据给前台 场景模拟:用户发起一个请求,后台发送了10w条数据 使用虚拟列表之前:前台需要生成10w个dom节点用来渲染页面 使用虚拟列表之后:前台只需要生成少量dom节点(dom节点数量取决于前端视图需要展示的…

html中常见标签及其用法归纳大全

html零基础必看——htmlHTML常见标签大全 第二章&#xff1a;html常见标签前言一、常见标签&#xff08;一&#xff09;1、body标签2、div盒子标签3、p文本段落标签4、h1~h6 标题标签5、b标签和strong标签&#xff08;文字加粗标签&#xff09;6、span文字包裹标签7、br换行标签…

大二学生web期末大作业 在线电影网站 HTML+CSS+JS

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

ES6展开运算符“...”

● ES6新增了一个运算符“...”&#xff0c;叫做展开运算符 ● 作用是把数组或者对象内容展开 &#xff08;1&#xff09;展开数组&#xff1a; ○ ES5方法&#xff1a;concat&#xff08;&#xff09; <script>let a [1,2,3]let b [4,5,6]//ES5的方法&#xff1a;c…