首页 > 其他分享 >Webpack开发环境要如何搭建?

Webpack开发环境要如何搭建?

时间:2022-12-26 10:32:20浏览次数:35  
标签:npm NPM webpack js Webpack 开发 安装 Node 搭建

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者| 慕课网精英讲师 三水清

本文将包括安装 Node、NPM、WebPack 开发环境,我使用的开发 IDE 是 VScode。因为 Webpack 实际是用 Node.js 写的,所以首先来介绍下 Node.js 的安装。

安装 Node.js

首先进入 Node.js 的官网,选择对应系统的下载包进行下载安装,对于 windows 用户,直接下载安装包安装即可,如果是 Macos 用户,推荐使用 brew 进行安装。接下来分别介绍下 Node.js 的版本管理和包管理工具。

Node.js 版本管理

Node.js 版本众多,包括稳定版和开发版,可能不同的项目需要的 Node.js 版本不同,这里我推荐大家安装 8.9 以上版本,对于已经安装了 Node.js 的朋友,可以使用 nvm(windows 版本)对 Node.js 进行进行版本管理,(另外阿里有个 tnvm ,也是管理 Node.js 版本的,增加了 alinode 版本系列的 Node.js)。

Node.js 包管理工具

Node.js 之所以这么流行,离不开庞大的社区建设,这里第一功劳就是 NPM 团队的贡献,使用 Node.js 写的代码,可以打包发布到 JavaScript 包管理平台 npmjs.com(这个存放包的地方一般也被称为仓库)上,当我们项目需要使用某个包(模块)时,可以直接使用包管理工具来安装(下载)对应的包,我们也可以免费注册一个账号,发布自己的公共包和私有包供其他人使用。

NPM 是围绕着语义版本控制(semver)思想而设计的,我们在软件版本中碰见的:rc、1.x.x、alpha、beta等名词都可以在 semver.org 得到解释介绍,简单来说规范是主版本号.次版本号.修订号(MAJOR.MINOR.PATCH):

1.主版本号:当你做了不兼容的 API 修改;
2.次版本号:当你做了向下兼容的功能性新增;
3.修订号:当你做了向下兼容的问题修正;

NPM 中使用了一个命名为package.json的文件作为一个 NPM 包的描述文件,package.json包含了包的基本信息(名称、版本号、描述、作者等)和依赖关系,例如:

{
"name": "demo",
"version": "1.0.0",
"dependencies": {
"webpack": "^4.29.6"
}
}

除了 version 符合 semver 规范以外,再来看下其他两项:

  • name:上面的代码就是表明了这个项目为demo,这样如果我们将来发布到 npmjs.com 会以这个来命名,除了这种方式的名称,还有一种命名的方式是@scope/name的方式,是作用域包,例如我们用来转化 ES6 语法的@babel/core就是@babel的作用域,详细介绍可以查看 package.json 的文档
  • dependencies:是demo这个项目的依赖,就是 demo 这个包内离开webpack这个包就不能使用了,对应的还有devdependencies,开发以来,一般需要二次开发 demo 的时候需要安装的包,实际项目中,webpack是构建工具,代码不会直接用 webpack 的 API,而只在开发和打包的时候采用,所以正确做法是放在devdependencies中。

注意到dependencies 中webpack 的后面版本号前面加了^,意思是主版本是4的最新版本,每次执行安装命令的时候,会更新符合这个规则的最新包,可以在npm semver range 部分看到更详细的介绍。

NPM 的常用命令

下面介绍下 NPM 的常用命令:安装、删除、初始化、配置。

安装和删除

安装某个 NPM 包,使用命令npm install packageName,简写npm i packageName,如果执行命令的目录下有package.json则可以直接用npm install安装package.json中的所有依赖。如果我们要安装某个版本的包,则可以使用命令npm i [email protected]格式。

如果我们安装依赖包并且将这个依赖写入package.json则可以使用命令npm i packageName --save(简写npm i packageName -S),如果希望写到package.json开发依赖中(devdependencies)则使用命令npm i packageName --save-dev(简写npm i packageName -D)

删除某个 NPM 包,则使用npm uninstall 包名。

本地模式和全局模式

npm 的包安装,分为本地模式和全局模式,默认是本地模式,即在执行npm install命令的当前目录创建node_modules,然后下载安装包及其依赖到node_modules目录。全局模式是指安装到全局路径的方式。在 Node.js 的 require 依赖之时,会优先查找自己当前文件的node_modules,如果没有,则循环遍历上层的node_modules,如果便历到根目录还找不到,则会使用全局模式安装的模块,另外全局模式安装的包可以指定全局命令,只需要在package.json增加bin字段并且指向包内对应的文件即可。全局安装一个包,使用命令npm install --global,--global可以简写为-g。

初始化一个 NPM 项目

npm init 用来初始化生成一个新的 package.json 文件。输入npm init并且根据对应的提示回答问题,会向用户提问一系列问题,如果你觉得不用修改默认配置,一路回车就可以了。
如果使用了 -f(代表force)、-y(代表yes),则跳过提问阶段,直接生成一个新的 package.json 文件。

设置 NPM 镜像

由于 NPM 网站经常不稳定,所以国内有很多镜像可以使用,淘宝 NPM 镜像是国内最大的一家 NPM 镜像网站,还有cnpm包可以替换官方 NPM 来使用,使用cnpm直接使用淘宝镜像安装 NPM 包。

单次使用镜像方法:

npm [命令] --registry=https://registry.npm.taobao.org

设置默认 npm 使用淘宝镜像方法:

npm config set registry https://registry.npm.taobao.org

使用下面的命令可以安装 cnpm 包,之后直接像使用 npm 一样使用 cnpm 即可,不需要添加register

npm install -g cnpm --registry=https://registry.npm.taobao.org

NPM 其他常用命令

  • npm set:设置环境变量,例如:npm set init-author-name 'Your name',初始化的时候会使用默认环境变量;
  • npm info:查看某个包的信息,例如:npm info lodash;
  • npm search:查找 npm 仓库,后面可以跟字符串或者正则表达式,例如:npm search webpack;
  • npm list:树形的展现当前项目安装的所有模块,以及对应的依赖,例如:npm list --global查看全局安装的模块。

NPM Scripts

NPM 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件中可以添加 scripts 字段,用于指定脚本命令,供 NPM 直接调用。例如:

// package.json
{
"scripts": {
"build": "webpack",
"start": "node src/scripts/dev.js"
}
}

在package.json添加上面字段之后,可以直接使用npm run build和npm run start命令了,实际上:

  • npm run build:相当于执行了当前项目中目录下的webpack命令;
  • npm run start:相当于执行了node src/scripts/dev.js。

另外npm run start还可以简写成npm start。

Tips:除了 npm 外,还有一些包管理工具,主要是针对 npm 的下载速度慢、node_modules 混乱等缺点设计的,例如yarn和 pnpm。

安装 Webpack-cli

Webpack-cli是 Webpack 的 CLI (Command-line interface)工具,如果在项目中,我们可以使用下面的方式安装:

npm install webpack-cli --save-dev

如果想全局使用webpack的命令,可以使用npm install -g webpack-cli安装。

Tips:这里建议在项目中安装 webpack-cli 并且使用 --save-dev 的配置将 webpack-cli 放到开发依赖中。

到此,我们就准备好 Webpack 的命令行开发环境了,下面小节开始介绍 webpack-cli 的零配置打包。

小结

本文主要介绍了 Webpack 的开发环境搭建,从 Node.js 安装、NPM 的使用最基础开始讲解,指导学生手把手的上手 Node.js 开发环境。并且介绍了 NPM 相关的命令使用和 NPM Scripts 概念,NPM Scripts 在用 NPM 搭建项目开发命令时被广泛应用,接下来我们开始体验 Webpack-cli 的零配置打包吧!

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!

标签:npm,NPM,webpack,js,Webpack,开发,安装,Node,搭建
From: https://blog.51cto.com/u_15771948/5968632

相关文章

  • 开发环境需要同时安装2个nodejs版本
    由于同时有vue2和vue3的项目开发情况,vue2项目的nodejs版本是12,vue3项目在node12版本下运行不了,要求最低14版本,因此要用nvm同时安装和控制2个版本。安装步骤:1、卸载已经安......
  • 双非本硕,成功上岸大数据开发 !!!
        校招生应届生写的大数据上岸过程比较少,很多应届毕业生想从事大数据开发,但是网上搜不到太多完整的上岸的过程,大部分都是面经之类的,所以想总结一下,不知道是否能帮......
  • 1:Web开发入门-Java Web
    (目录)1.1什么是Web应用程序在Sun的JavaServlet规范中,对JavaWeb应用作了这样定义:“JavaWeb应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在......
  • 使用fabric.js 快速开发一个图片编辑器
    最近自己开发了一个图片编辑器,把源码也放在了GitHub上,顺便也总结下使用fabric.js开发一个编辑器需要用到哪些知识点。预览地址:nihaojob.github.io/vue-fabric-…GitH......
  • “你帮我助”软件开发总结
    “你帮我助”1.0需求分析在初步阅读完软件的功能需求后,我首先上网查询了一下GUI的实现方法,发现Qt被较多人推荐。随后又初步了解了一下Qt的功能及使用方法,如何设计可视化......
  • 工作总结之开发篇
    目录复盘开发时遇到的一些问题前言后端复盘开发时遇到的一些问题前言就把自己遇到的,认为比较重要的提出来讲一讲后端修改两个SpringBoot项目各自的路径因为这个涉及......
  • 前后端开发必会的 HTTP 协议“十全大补丸”(万字长文)
    本文全面介绍了HTTP协议相关知识,包括HTTP请求报文、响应报文、持久连接、缓存、Cookie以及HTTP版本升级等!HTTP协议全称为HyperTextTransferProtocol,即超文本......
  • Java开发学习(四十七)----MyBatisPlus删除语句之多记录操作
    1、多记录操作先来看下问题:之前添加了很多商品到购物车,过了几天发现这些东西又不想要了,该怎么办呢?很简单删除掉,但是一个个删除的话还是比较慢和费事的,所以一般会给用......
  • Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建
    实践环境win10Python3.6.2odoo_14.0.latest.tar.gz下载地址:https://download.odoocdn.com/download/14/src?payload=MTY3MDg1MTM3Ni4xNC5zcmMud0tZRWZLX2I5UVF0Tm51U......
  • 【开发小技巧】031—用CSS3如何实现钟摆动画的导航栏菜单效果
    编辑|web前端开发(web_qdkf)我们都知道,CSS3可以实现很多很酷的动画效果,而今天我们将与大家分享一期用CSS3制作的钟摆动画菜单效果,在这个动画中,我们主要采用CSS3来控制SVG图......