webpack的基本使用


webpack的安装

  1. webpack的使用时需要借助 node 的环境的
  2. 在 node 中自动下载了 npm 这个包管理工具,之后的操作我们需要使用npm包管理工具进行相关操作
  3. 我们需要打开终端(cmd)或者编译器中的终端(我使用的vs code编译器,使用 ctrl + shift + ~ 打开终端)
  4. 输入 npm install webpack -g 即可在全局下载 webpack,-g表示全局安装。
  5. 下载好之后在终端输入 webpack -version 即可查看webpack的版本,如果出现版本信息,则表示安装成功

    注意:webpack的版本的不同在后续的操作中会存在些许差异,我这里下载的是 wepack4.x版本的,下面的讲述中我会将webpack3.x版本和4.x版本的些许差别讲一下
  6. 如果是webpack是4.x版本的话,除了全局安装 webpack 之外还需要全局安装一下 webpack-cli 这样后续有些问题才能进行,安装步骤如上述第四步类似

webpack的基本用法

  1. 假设我的目录中是这样的:src文件夹下存在入口文件main.js和js文件夹,js文件夹中还有一个aaa.js文件,各个文件的代码如下
  • aaa.js
    function add(num1 , num2) {
return num1 + num2;
} function mul(num1 , num2) {
return num1 * num2;
}
export {add,mul}; // ES6导出模块
  • main.js
    import {add,mul} from './js/aaa.js' // ES6的语法导入模块
console.log(add(20,30));
console.log(mul(20,30));
  1. 了解到上述的依赖关系之后,我们便需要打包文件了。注意:webpack打包后是要在服务器上访问才能有效,不然浏览器会报错
  2. 确认代码中的依赖关系没错之后,在终端输入
    • webpack3.x版本:webpack .\src\main.js .\dist\bundle.js
    • webpack4.x版本:webpack .\src\main.js -o .\dist\bundle.js --mode=development

      上面的代码意思为:通过webpack将 .\src\main.js 该目录下的main.js文件打包到 dist文件夹下的,命名为bundle.js
  3. 如果将来修改了代码之后,则必须重新打包一遍,即:再执行一次第三步
  4. 这个时候可能就会觉得该操作很繁琐,于是乎我们将进一步改进代码
  5. 在终端执行操作:npm init -y 初始化一个json文件,该文件非常有必要,之后下载包都会记录在其中

    注意:如果使用上面的方式初始化的json文件,则package.json的name值为项目的名称,我们不能将这里的name属性值设置为中文,所以建议使用 npm init 的方式初始化package.json文件,这样的好处是可以自定义name属性的值,不能是中文
  6. 在终端输入:npm install path --save-dev即可在开发环境下下载path的模块(方便后面使用)
  7. 新建一个webpack.config.js文件,注意:这个文件的名称是固定的,不要自己更改,在文件中输入代码:
    const path = require('path');   // 导入之前的下载好的模块
module.exports = {
// 在配置文件中,手动指定 入口 文件和 出口 文件
mode:'development', // webpack4.x版本中需要加入这个属性
entry:'./src/main.js', // 入口文件
output:{ // 出口文件
path:path.resolve(__dirname,'dist'), // 指定将要打包好的文件应该要输出到哪个地方去(注意:路径必须是绝对地址)
filename: 'bundle.js' // 指定输出文件的文件名
}
}

注意:如果在output中的path中您输入的是 ./dist 的话会报错,因为这里的path不允许使用相对地址,必须使用绝对地址,则需要借助 node 中的 path 模块

9. 做完上述操作之后,即可在终端输入:webpack打包文件

10. 打开package.json文件,在文件中找到scripts的属性,这里面表示脚本命令,我们在该对象中添加一个自定义的命令,如:属性名为:build,属性值为 webpack。

11. 然后我们便可以通过在终端输入:npm run build打包文件

注意:在终端中使用的webpack是使用的全局中的 webpack,而在 scripts 对象中使用的 webpack 会优先使用本地的。我们一般使用本地的webpack,所以,我们要使用 npm 下载本地的webpack。如果是4.x版本的webpack还需要下载 webpack-cli,代码如下:

npm install webpack --save-dev其中 save-dev 是表示开发中依赖,即:在开发中需要使用webpack,而项目上线之后不需要使用了。在 package.json 文件中的 devDependencies 中会显示你下载过的开发依赖的文件。

webpack3、4的基本的使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. webpack3新特性介绍

    6月20号webpack推出了3.0版本,官方也发布了公告.根据公告介绍,webpack团队将未来版本的改动聚焦在社区提出的功能需求,同时将保持一个快速.稳定的发布节奏.本文主要依据公告内容,简单介绍 ...

  3. webpack3中文版使用参考文档--全面解析webpack.config.js

    Webpack目前官方发布的最新版本是3.1.0,相对于2.0的怎么本,在语法上没有变动,只是新增了功能.使用webpack,需要事先安装node.js,并对node.js生态有一些基本的了解,比如( ...

  4. Webpack打包构建太慢了?试试几个方法

    Webpack是个很流行的打包工具,但其打包速度却一直被吐槽着 如果不用上一些打包的优化建议,单单打包两三个文件就能花上好几秒,放上几十个入口文件依赖几百上千个包的话,几分钟十几分钟妥妥的 本文整理了 ...

  5. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  6. 在webpack3里使用uglifyjs

    环境:webpac<4的场景下,安装uglifyjs. cnpm install uglifyjs-webpack-plugin -D 安装完毕后,去npm里查看uglifyjs的使用方法并添加 ...

  7. webpack快速入门——实战技巧:watch的正确使用方法,webpack自动打包

    随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件, ...

  8. webpack3新特性简介

    6月20号webpack推出了3.0版本,官方也发布了公告.根据公告介绍,webpack团队将未来版本的改动聚焦在社区提出的功能需求,同时将保持一个快速.稳定的发布节奏.本文主要依据公告内容,简单介绍 ...

  9. webpack+express实现“热更新”和“热加载”(webpack3.6以前的做法)

    “热更新”:对应的是 'webpack-dev-middleware' 中间件 “热加载”:对应的是 'webpack-hot-middleware' 中间件 为了使用这两个中间件,必须修改“webp ...

随机推荐

  1. MacOS访达增强工具-TotalFinder

    TotalFinder 是Mac上最好用的Finder增强工具,TotalFinder 提供了多标签式浏览.拷贝路径.剪切文件.显示隐藏文件.双栏窗口模式.彩色标签等功能 彩色的标签 将彩色带回El ...

  2. 小工具---将图片文件MultipartFile保存到指定目录

    import org.springframework.web.multipart.MultipartFile; import java.io.IOException; /** 保存图片 @author ...

  3. Halcon一日一练:图像分割之基本概念

    1.什么是图像分割: 图像分割就是把图像中特定的目标提出来,进行处理. 2.为什么要做图像分割: 图像分割是由图像处理到图像分析的关键步骤,准确的来说,没有图像分割,图像处理将无法实现其后续的操作.进 ...

  4. win10下安装openssl

    1.下载运行工具:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi, 安装. 2.执行:perl example.pl,若显示“Hello from Acti ...

  5. php函数分为哪两种?

    PHP的真正威力源自于它的函数.函数分为内置函数和自定义函数. 内置函数 所谓PHP内置函数,就是在php程序的库里面已经定义了的函数,比如echo,mysql_connect,include_onc ...

  6. tomcat+Apache介绍

    tomcat不是一个完整意义上的Jave EE服务器,它甚至都没有提供对哪怕是一个主要Java EE API的实现:但由于遵守apache开源协议,tomcat却又为众多的java应用程序服务器嵌入自 ...

  7. spring security原理-学习笔记1-整体概览

    整体概述 运行时环境 Spring Security 3.0需要Java 5.0 Runtime Environment或更高版本. 核心组件 SecurityContextHolder,Securi ...

  8. jhipster入门

    环境: 阿里云linux /////////////////////////////////////////////////////////////////////yum install java-1 ...

  9. django-模板之模板变量(二)

    将views中的变量传递给html界面 book/views.py from django.views import View from django.shortcuts import render ...

  10. F#周报2019年第44期

    新闻 Elmish.WPF教程 介绍Orleans 3.0 GC配置历史 介绍ONNX运行时1.0 介绍微软Q&A(预览) 使用App中心持续布署与监控你的UWP,WPF与Windows Fo ...