webpack详细教程

webpack教程

一、认识webpack

在这里插入图片描述

官方解释:从本质上讲,webpack是一个现代的JavaScript应用的静态模块打包工具。

webpack官网

  • 模块化:常用的规范有:AMD、CMD、CommonJS、ES6

  • 在ES6之前进行模块化开发,就必须借助于其他的工具进行模块化开发,之后还需要处理模块之间的各种依赖关系。

  • webpack其中的一个核心就是让我们可能进行模块化开发,并且会帮助我们处理模块之间的依赖关系

  • 不仅仅是JavaScript文件,CSS、图片、json文件等等在webpack中都可以当做模块来使用。

grunt/guIp和webpack的区别

grunt/guIp的核心是Task,更加强调是前端流程的自动化,模块化不是核心。
webpack更加强调的是模块化开发管理,而文件压缩合并、预处理等功能,是他附带的功能。

二、webpack的安装

  • webpack为了可以正常运行,必须依赖node环境,node环境为了可以正常执行代码,必须其中包含各种依赖的包,node自带软件包管理工具npm,通过npm工具(node packages manager)来管理各种包。

    1.查看node版本

    node -v
    

    2.全局安装webpack(这里指定版本为3.6.0,因为vue cli2依赖该版本)

     npm install webpack@3.6.0 -g
    

    查看是否安装成功

    webpack --version
    

三、webpack的起步

mathUtils.js

function add(num1,num2) {    
    return num1 + num2;}
function mul(num1,num2) {    
    return num1 * num2;}
//使用common.js模块化开发的规范导出
module.exports = {    add,    mul}

info.js

//使用使用ES6模块化开发的规范导出
export const name = '张三';
export const age = 18;
export const height = 1.88;

main.js

//使用common.js模块化开发的规范导入
const {add,mul} = require('./mathUtils.js')
console.log(add(20, 30));
console.log(mul(20, 30));

//使用ES6模块化开发的规范导入
import {name,age,height} from "./info";
console.log(name);
console.log(age);
console.log(height);

在这里插入图片描述

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>01webpack的起步</title>
</head>
<body>

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

</body>
</html>

浏览器结果显示

在这里插入图片描述

四、webpack的配置

1、webpack命令的使用

新建配置文件webpack.config.js(名称不要变)

//node语法需要依赖Node包(在终端输入npm init和npm install)
const path = require('path')

//通过common.js导出对象
module.exports = {
    //配置入口
    entry:'./src/main.js',
    //配置出口
    output:{
        //动态的添加路径(绝对路径)
        //__dirname node上下文中的一个全局变量,能够获取当前文件所在的路径
        //resolve方法将两个参数进行拼接
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
}

在终端进入对应的目录,分别执行npm initnpm install命令。

在终端直接执行webpack即可打包

在这里插入图片描述

2、npm run build命令的使用

将webpack与npm run build建立映射

package.json

{
  "name": "meetwebpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^3.6.0"
  }
}

在这里插入图片描述

定义脚本的好处:优先使用本地的webpack

安装局部webpack

npm install webpack@3.6.0 --sav-dev

–sav-dev是开发时依赖,项目打包后不需要继续使用

  • 为什么使用局部webpack来打包?

  • 一个项目往往依赖特定的webpack版本,全局的版本可能和这个项目的版本不一致,导致打包出现问题。

五、loader的使用

1、webpack-css文件的处理

  • 安装所需要的loader

    以css-loader为例
    在这里插入图片描述

    npm install style-loader --save-dev
    
    npm install --save-dev css-loader
    

    在src下新建css文件夹,在css下新建normal.css

    body {
        background: red;
    }
    
  • 在webpack.config.js中进行相应的配置

在这里插入图片描述

 module: {
        rules: [
            {
                //正则表达式,匹配css文件
                test: /\.css$/,
                /*
                    特别注意:
                    css-loader只负责加载将CSS文件进行加载
                    style-loader负责将样式添加到DOM中
                    使用多个loader时,是从右到左的顺序读取的(注意顺序)
                 */
                use: [ 'style-loader', 'css-loader' ]
            }
        ]
    }

2、webpack-less文件的处理

在CSS下新建special.less文件

在这里插入图片描述

在main.js中添加依赖

在这里插入图片描述

安装less-loader

npm install --save-dev less-loader less

在这里插入图片描述

在main.js中输入

document.writeln('<h2>你好啊,太子殿下</h2>');

在命令行输入npm run build

网页显示结果如下
在这里插入图片描述

3、webpack-图片文件的处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运行npm run build

对图片的名称进行优化

在这里插入图片描述

4、webpack-ES6转ES5的babel

npm install --save-dev babel-loader@7 babel-core babel-preset-es2015

在这里插入图片描述

<think>好的,我现在需要帮助用户解决如何在VMware中安装合适的USB设备驱动的问题。首先,我需要理解用户的问题到底是什么。用户提到的是“VMware USB device在哪下载合适的驱动”,可能是指当他们在VMware虚拟机中使用USB设备时遇到了驱动问题,需要找到正确的驱动程序。 接下来,我要回忆一下VMware产品中关于USB设备支持的相关知识。VMware Workstation和Fusion等产品通常会自动处理USB设备的连接,但在某些情况下,可能需要安装额外的驱动,尤其是在客户机操作系统中。例如,如果客户机是Windows,可能需要安装VMware Tools来增强USB支持;如果是Linux,可能需要特定的驱动包。 然后,我需要考虑用户可能的具体情况。用户可能已经将USB设备连接到主机,但在虚拟机中无法识别,或者出现驱动错误。这时候需要确定是主机驱动的问题还是客户机驱动的问题。通常,主机不需要额外驱动,因为VMware会通过自身的服务处理USB设备的连接,而客户机可能需要安装VMware Tools来获得更好的兼容性。 接着,我需要思考正确的步骤来引导用户解决问题。首先,应该检查VMware Tools是否已经安装,这是解决很多设备兼容性问题的第一步。如果已经安装,可能需要更新到最新版本。其次,对于客户机操作系统,比如Windows,可能需要检查设备管理器中的USB控制器是否有感叹号,是否需要手动安装驱动。此外,还需要确认主机的USB控制器设置是否正确,比如在虚拟机设置中选择USB兼容性版本(如USB 3.0或2.0)。 如果用户的问题是关于主机系统的驱动,比如VMwareUSB控制器驱动在主机上出现问题,可能需要到VMware官网下载并重新安装VMware Workstation或Player,这样会自动安装所需的驱动。另外,某些情况下,主机的USB驱动可能需要更新,比如芯片组驱动或USB 3.0驱动,这需要到主机厂商的网站下载。 还需要考虑用户可能的误解。例如,用户可能认为需要单独下载USB驱动,但实际上,大多数情况下,VMware Tools已经包含了必要的驱动。如果用户已经安装了VMware Tools但仍然有问题,可能需要进一步的故障排除,比如检查USB设备的兼容性,尝试不同的USB端口,或者重启VMware的相关服务。 最后,整理出清晰的步骤,确保用户能够按照流程操作,同时提醒常见的注意事项,比如以管理员身份运行安装程序,确保虚拟机配置正确等。可能还需要提供VMware官网的链接,方便用户下载工具或更新版本。</think>在VMware虚拟机中使用USB设备时,通常不需要单独下载"VMware USB设备驱动",但需要按以下流程操作: ### 一、基础准备 1. **主机端** - 确保主机已安装最新版VMware Tools(VMware Workstation/Fusion自带) - 无需单独下载驱动,系统会自动加载`vmware-usbarbitrator`服务 2. **虚拟机配置** - 打开虚拟机设置 → USB控制器 → 勾选`USB兼容性`(建议选3.0或自动) ### 二、客户机驱动安装 1. **Windows客户机** - 安装VMware Tools(虚拟机菜单 → 管理 → 安装VMware Tools) - 插入USB设备后,会自动加载`vmware USBCCID`驱动程序 2. **Linux客户机** - 安装open-vm-tools: ```bash sudo apt-get install open-vm-tools-desktop ``` - 加载USB驱动模块: ```bash sudo modprobe uhci_hcd ehci_hcd ohci_hcd xhci_hcd ``` ### 三、常见问题排查 1. **设备无法识别** - 检查主机设备管理器 → 确保无`VMware USB Device`黄色感叹号 - 重启服务:`services.msc` → 重启`VMware USB Arbitration Service` 2. **特殊设备支持** - 加密狗/工控设备需在虚拟机设置 → USB控制器 → 开启`显示所有USB输入设备` - 对于USB转串口设备,建议在客户机安装对应芯片驱动(如FTDI、CH340) ### 四、驱动下载渠道(仅限特殊情况) 如需获取底层驱动文件,可通过: 1. VMware官网支持页面: ``` https://customerconnect.vmware.com/downloads ``` 2. 选择对应产品 → 驱动包通常包含在`VMware Tools Bundle`中 > **注意事项**: > - 虚拟机运行时才能看到USB设备连接选项 > - 苹果M系列芯片需使用ARM版Windows/Linux系统 > - 安卓设备需开启开发者模式+USB调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值