webpack安装步骤及入门程序

2 篇文章 0 订阅
1 篇文章 0 订阅

1. 什么是webpack

Webpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包。使用vue.js开发大型应用需要使用webpack打包工具,使用webpack打包的好处有:
1、模块化开发
在开发时可以分模块创建不同的js、 css等小文件方便开发,最后使用webpack将这些小文件打包成一个文件,减少了http的请求次数。
webpack可以实现按需打包,为了避免出现打包文件过大可以打包成多个文件。
2、 编译typescript、ES6等高级js语法
随着前端技术的强大,开发中可以使用javascript的很多高级版本,比如:typescript、ES6等,方便开发,webpack可以将打包文件转换成浏览器可识别的js语法。
3、CSS预编译
webpack允许在开发中使用Sass 和 Less等原生CSS的扩展技术,通过sass-loader、less-loader将Sass 和 Less的语法编译成浏览器可识别的css语法。

2. 如何安装webpack

webpack基于node.js运行,首先需要安装node.js,node.js是一个JavaScript运行环境,传统意义上的 JavaScript 运行在浏览器上,Chrome 使用的 JavaScript 引擎是 V8,Node.js 是一个运行在服务端的框架,它的底层就使用了 V8 引擎,这样就可以使用javascript去编写一些服务端的程序,这样也就实现了用javaScript去开发 Apache + PHP 以及 Java Servlet所开发的服务端功能,这样做的好处就是前端和后端都采用javascript,即开发一份js程序即可以运行在前端也可以运行的服务端,这样比一个应用使用多种语言在开发效率上要高,不过node.js属于新兴产品,一些公司也在尝试使用node.js完成一些业务领域,node.js基于V8引擎,基于事件驱动机制,在特定领域性能出色,比如用node.js实现消息推送、状态监控等的业务功能非常合适。

2.1 安装node.js

下载地址:https://nodejs.org/en/download/
下载完之后,安装,默认下一步就可以了,安装完成检查PATH环境变量是否设置了node.js的路径。测试是否安装成功可以执行:node -v,命令来测试
如果没有配置环境变量,可以参考下面的配置:
NODE_HOME = D:\Program Files\nodejs (node.js安装目录)
在PATH变量中添加:%NODE_HOME%;%NODE_HOME%\npm_modules;

2.2 npm

由于node.js已经集成了npm工具,在命令提示符输入 npm -v 可查看当前npm版本,npm全称Node Package Manager,他是node包管理和分发的工具,使用NPM可以对应用的依赖进行管理,NPM的功能和服务端项目构建工具maven差不多,我们通过npm 可以很方便地下载js库,打包js文件。

还要设置npm的包路径,就是npm从远程下载的js包所存放的路径。
使用 npm config ls 查询NPM管理包路径(NPM下载的依赖包所存放的路径)
NPM 默认的管理包路径在C:/用户/[用户名]/AppData/Roming/npm/node_meodules,为了方便对依赖包管理,我
们将管理包的路径设置在单独的地方,最好将安装目录设置在node.js的安装目录下,创建npm_modules和npm_cache文件夹,执行下边的命令:
npm config set prefix “C:\Program Files\nodejs\npm_modules”
npm config set cache “c:\Program Files\nodejs\npm_cache”
此时再使用 npm config ls 查询NPM管理包路径发现路径已更改

2.3 cnpm

由于用npm下载js包的时候,是到国外的网站去下载比较慢,可以用cnpm,到国内的网站去下载,比较快:
输入命令,进行全局安装淘宝镜像。
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装后,我们可以使用以下命令来查看cnpm的版本:
cnpm -v
没问题之后,再使用nrm ls 命令查看镜像指向
如果没有指向淘宝,要用如下命令修改指向:
使nrm use taobao切换 镜像
如果nrm没有安装则需要进行全局安装:cnpm install -g nrm

2.4 安装webpack

webpack安装分为本地安装和全局安装:
本地安装:仅将webpack安装在当前项目的node_modules目录中,仅对当前项目有效。
全局安装:将webpack安装在本机,对所有项目有效,全局安装会锁定一个webpack版本,该版本可能不适用某个项目。全局安装需要添加 -g 参数。
进入webpacktest测试目录目录,运行:
1)本地安装:
只在特定项目中使用特定版本的 webpack,需要进行本地安装,因为项目和项目所用的webpack的版本不一样。本地安装就会将webpack的js包下载到项目下的npm_modeuls目录下。
创建webpack测试目录webpacktest:
npm install --save-dev webpack 或 cnpm install --save-dev webpack
npm install --save-dev webpack-cli (4.0以后的版本需要安装webpack-cli)
2)全局安装加-g,如下:
全局安装就将webpack的js包下载到npm的包路径下。
npm install webpack -g 或 cnpm install webpack -g
3)安装webpack指定的版本:
如果使用webpack3.6.0,安装webpack3.6.0:
进入webpacktest测试目录,运行:cnpm install --save-dev webpack@3.6.0
全局安装:npm install webpack@3.6.0 -g或 cnpm install webpack@3.6.0 -g
到这里,webpack就算安装完成了

3. 如何使用webpack

体会webpack打包的过程及模块化开发的思想
创建webpacktest01目录,将vue.min.js及vue_02.html拷贝到目录下。

3.1 创建处理业务逻辑的js文件

在webpacktest01目录下创建model01.js,就是用来写方法处理业务逻辑,供其他页面调用,比如将vue_02.html中使用的加法运算的js方法抽取到model01.js中,此文件就是一个模块
model01.js文件


var add = function (x, y) {
    return x + y;
};

var add2 = function (x, y) {
    return x + y + 6;
};

//导入add方法
//module.exports.add = add;//一次导出一个方法
module.exports = {add,add2};//一次导出多个方法

可以看到这个文件中只是单纯的方法,用于处理逻辑

3.2 创建入口文件,也就是本程序的js主文件

1、在此文件中会引用model01.js模块
2、引用vue.min.js(它也一个模块)
3、将html页面中构建vue实例的代码放在main.js中。
main.js的代码如下

/**
 * 入口文件,webpack打包入口
 */

//导入model01.js,但是model01导出之后,这里才能导入
var {add} = require("./model01");
var {add2} = require("./model01");
//导入vue.js文件
var Vue = require("./vue.min");
var VM = new Vue({
    el:'#app',//vm接管了app区域的管理
    data:{//model数据
        name:'好好学习,天天向上!',
        num1:0,
        num2:0,
        result:0,
        url:'https://www.baidu.com',
        size:33
    },
    methods:{
        change:function () {
            //this.result = Number.parseInt(this.num1) + Number.parseInt(this.num2)
            this.result = add(Number.parseInt(this.num1), Number.parseInt(this.num2))
        }
    }
});

3.3 打包测试

上边将mode01.js模块及main.js主文件编写完成,下边使用webpack对这些js文件进行打包
1、进入程序目录,执行webpack main.js build.js ,这段指令表示将main.js打包输出为 build.js文件
执行完成,观察程序目录是否出现build.js。
2、在html中引用build.js
vue_02.html页面

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>webpack的测试</title>
</head>
<body>
<!--body体里面的内容是MVVM中view视图部分的内容-->
  <div id="app">
      <!--{{name}}-->
      <a v-bind:href="url">
      <span v-text="name"></span>
      </a>
      <input type="text" v-model="num1"/> +
      <input type="text" v-model="num2"/> =
      <!--{{Number.parseInt(num1)+Number.parseInt(num2)}}-->
      <!--<span v-text="Number.parseInt(num1)+Number.parseInt(num2)"></span>-->
      <span v-text="result"></span>
      <button v-on:click="change">点击计算</button>
      <div v-bind:style="{fontSize: size + 'px'}">java</div>
  </div>
</body>
<script src="build.js"></script>
<!--<script src="vue.min.js"></script>--><!--导入vue.js类库-->
<script>
    //script里面编写MVVM中model和viewmodel中的内容

</script>
</html>

其中build.js就是webpack打包之后生成的js文件

3.4 webpack-dev-server

在实际开发中,使用webpack-dev-server开发服务器,它的功能可以实现热加载 并且自动刷新浏览器。

3.4.1 创建结构目录

创建一个新的程序目录,这里我们创建webpacktest02目录,并在目录下创建src目录、dist目录。将html页面拷贝到webpacktest02目录下,将js文件拷贝到src目录下

3.4.2 执行命令安装

然后就可以安装webpack-dev-server了,使用 webpack-dev-server需要安装webpack、 webpack-dev-server和 html-webpack-plugin三个包。
到webpacktest02目录下,cmd打开黑窗口,执行
cnpm install webpack@3.6.0 webpack-dev-server@2.9.1 html-webpack-plugin@2.30.1 --save-dev
安装完成,会发现程序目录出现一个node_modules目录,用于存放本程序所依赖的包;一个package.json文件,记录了本程序所依赖的包信息。

3.4.2 修改package.json文件配置

在package.json中配置script,就是可执行的命令

 "scripts": {
    "dev": "webpack‐dev‐server ‐‐inline ‐‐hot ‐‐open ‐‐port 5008"
  },

参数含义:
–inline:自动刷新
–hot:热加载
–port:指定端口
–open:自动在默认浏览器打开
–host:可以指定服务器的 ip,不指定则为127.0.0.1,如果对外发布则填写公网ip地址

3.4.3 配置webpack.config.js

在webpacktest02目录下创建 webpack.config.js, webpack.config.js是webpack的配置文件。在此文件中可以配置应用的入口文件、输出配置、插件等,其中要实现热加载自动刷新功能需要配置html-webpack-plugin插件。
html-webpack-plugin的作用是根据html模板在内存生成html文件,它的工作原理是根据模板文件在内存中生成一个index.html文件。

//引用html‐webpack‐plugin这个插件
var htmlwp = require('html-webpack-plugin');
module.exports={
    entry:'./src/main.js',  //指定打包的入口文件
    output:{
        path : __dirname+'/dist',  // 注意:__dirname表示webpack.config.js所在目录的绝对路径
        filename:'build.js'    //输出文件
    },
    devtool:'eval-source-map',//可以让浏览器看到源代码调试
    plugins:[
        new htmlwp({
            title: '首页',  //生成的页面标题<head><title>首页</title></head>
            filename: 'index.html', //webpack‐dev‐server在内存中生成的文件名称,自动将build注入到这个页面底部,才能实现自动刷新功能
            template: 'vue_02.html' //根据index1.html这个模板来生成(这个文件请程序员自己生成)
        })
    ]
}

进入 webpacktest02目录,执行npm run dev就可以运行了;或者使用webstorm,右键package.json文件,选择“Show npm Scripts”
注意:dev就是在package.json中配置的webpack dev server命令。
发现启动成功自动打开浏览器。
打包命令是:npm run build
需要debug调试的话,需要在webpack.config.js文件中配置:

devtool: 'eval‐source‐map',

然后在js中跟踪代码的位置上另起一行,加上debugger,就可以了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack是一个主流的前端工程化解决方案,用于打包和构建前端应用程序。它可以将多个模块和资源打包成一个或多个bundle,以便在浏览器中加载。 要使用Webpack,你可以通过安装webpack命令行工具和配置文件来开始使用。在开发环境中,可以使用cheap-module-eval-source-map配置选项来生成源映射,而在生产环境中,可以使用none选项来关闭源映射。 为了更方便地使用Webpack,你可以安装和配置一些第三方插件。其中两个常用的插件是webpack-dev-server和html-webpack-plugin。webpack-dev-server可以在代码修改后自动进行打包和构建,而html-webpack-plugin可以自定义index.html页面的内容。 如果想快速入门Webpack,你可以按照以下步骤进行操作: 1. 安装Webpackwebpack命令行工具。 2. 在项目根目录下创建一个webpack.config.js文件,并配置Webpack的入口和出口文件以及其他需要的选项。 3. 在package.json中的scripts字段中增加命令,例如"build": "webpack"。 4. 运行npm run build命令,即可实现打包。 这样,你就可以通过Webpack来打包和构建你的前端应用程序了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [超详细 WebPack 入门教程](https://blog.csdn.net/qq_43682422/article/details/124054740)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [webpack快速入门教程](https://blog.csdn.net/weixin_57218747/article/details/117304221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值