vuejs学习3.3 webpack基本使用——对其他文件的打包


webpack主要来处理js代码,处理js之间的依赖,但是不仅仅只有js代码处理,可能包含css,图片,ES6转ES5,Typescript转ES5,scss,less转css,.vue转js等等,对于执行webpack命令本身的能力来说是不支持的,需要给webpack扩展对应的loader

注意:由于之前安装的webpack版本为3.6.0,所以需要对应合适的loader版本才能运行,所以以下都设定了版本

loader使用

链接: loader.
找到需要的loader,例如:需要打包css文件,如下进行用法查询
在这里插入图片描述

css文件处理

可以在js中添加依赖

require("./css/normal.css")

但是直接添加后进行npm run build进行打包会报错

在这里插入图片描述
所以需要添加合适的loader,网站查询css对应loader使用步骤

安装css loader

npm install --save-dev css-loader@2.0.2

配置css loader

在webpack.config.js中进行配置,在module.exports下添加对象

module: {
    rules: [
      {
        test: /\.css$/,
        use: [ 'css-loader' ]
      }
    ]
  }

但是css-loader只负责css文件加载,不负责进行解析,不负责放在html中进行生效

安装style-loader

style-loader负责将样式添加到DOM中
在这里插入图片描述

npm install style-loader@0.23.1 --save-dev

配置style-loader

结合以上css-loader配置如下:

module: {
    rules: [
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]
      }
    ]
  }

提示

test: /.css$/

表示匹配所以css文件,为正则表达式(由于点在正则表达式中有特殊含义,所以使用\进行转义, $表示结尾)

use: [ ‘style-loader’, ‘css-loader’ ]

使用多个loader是从右向左读,所以先进行加载,后进行解析添加到DOM上,两者的顺序是不能换的,换了会进行报错

less文件的处理

less-loader是进行加载的,less是进行转化成css的

添加依赖

require("./css/lessStyle.less")

安装less-loader less

npm install --save-dev less-loader@4.1.0  less@3.9.0

配置

 module: {
        rules: [{
            test: /\.less$/,
            use: [{
                loader: "style-loader" 
                // creates style nodes from JS strings
            }, {
                loader: "css-loader"
                 // translates CSS into CommonJS
            }, {
                loader: "less-loader" 
                // compiles Less to CSS
            }]
        }]
    }

图片文件的处理

处理文件——>url-loader

安装 url-loader

npm install --save-dev url-loader@1.1.2

配置

图片为png,jpg,gif,(由于早期的dos操作系统文件的后缀名只能支持三个,例如早期是htm,jpeg就是jpg)

 module: {
    rules: [
      {
        test: /\.(png|jpg|gif)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 8192
            }
          }
        ]
      }
    ]
  }

提示options: { limit: 8192 }

当加载图片小于limit时,会将图片编译成base64形式
在这里插入图片描述
当加载图片大于limit时,会报错
在这里插入图片描述
所以需要安装file-loader

安装file-loader

npm install --save-dev file-loader@3.0.1

图片找不到问题

安装后打包npm run build后运行,浏览器报错会显示找不到图片,打包后dist文件夹中会出现打包成的图片文件
在这里插入图片描述
但是在bundle.js中的图片路径为,./img/……,所以找不到路径

解决方法

output:{
    path:path.resolve(__dirname,'dist'),
    filename:"bundle.js",
    publicPath:"dist/"
  },

在出口添加 publicPath:“dist/” 表示任何涉及到url的都会在前面拼接 dist/ 从而找到图片的路径
在这里插入图片描述

打包后的图片有一定的格式

默认的图片名字为32位的哈希值

配置

{
        test: /\.(png|jpg|gif)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 8192,
              name:'img/[name].[hash:8].[ext]'
            }
          }
        ]
      }

在option中添加name(name:‘img/[name].[hash:8].[ext]’),img/表示文件夹,[name]表示原来的名字,[hash:8]表示八位的哈希值,[ext]表示扩展名
在这里插入图片描述

ES6转ES5

安装

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

这里安装指定了特定版本,注意官网不同

配置

{
        test: /\.js$/,
        //exclude排除
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['es2015']
          }
        }
      }

需要排除node_modules里面的js不需要转化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您需要安装webpackwebpack-cli(使用npm或yarn进行安装)。然后,在项目的根目录中创建一个名为webpack.config.js文件,在其中配置打包规则。 具体配置内容如下: ``` const path = require('path'); module.exports = { entry: './path/to/your/entry/file.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' } }; ``` entry属性指定打包的入口文件,output属性指定打包后输出文件的相关信息,path为输出文件的路径,filename为输出文件的名称。 最后,在命令行中运行webpack命令即可完成打包。 ``` $ webpack ``` 打包后的文件将在指定的输出目录中生成。 除此之外,还可以在 webpack.config.js使用 webpack-merge 可以合并多个配置文件。 ### 回答2: 要使用Webpack将多个JS文件打包成一个文件,需要按照以下步骤进行操作: 1. 首先,确保已经在项目的根目录下安装了Webpack。可以通过运行命令`npm install webpack webpack-cli --save-dev`进行安装。 2. 在项目根目录下创建一个`webpack.config.js`文件,这是Webpack的配置文件。 3. 在配置文件中,需要设置入口文件(Entry point)和输出文件(Output)。入口文件Webpack根据依赖关系分析和打包所有JS文件的起点。输出文件则是将所有打包后的JS文件合并成一个文件输出的位置。 4. 在配置文件中添加以下内容来设置入口文件和输出文件: ``` module.exports = { entry: './path/to/your/entry/file.js', // 入口文件的路径 output: { path: './path/to/your/output/folder', // 输出文件文件夹路径 filename: 'bundle.js' // 输出文件文件名 } }; ``` 请将`./path/to/your/entry/file.js`和`./path/to/your/output/folder`替换为你项目中的实际路径。 5. 接下来,可以运行`npx webpack --config webpack.config.js`命令,Webpack会根据配置文件进行打包操作。打包完成后,会在输出文件夹中生成一个名为`bundle.js`的文件,其中包含了所有JS文件的代码。可以将这个文件引入到HTML文件中以使用它。 通过以上步骤,可以使用Webpack将多个JS文件打包成一个文件。在需要使用这些JS文件的地方,只需要引入生成的`bundle.js`文件即可。如果有多个JS文件需要打包,只需在入口文件中引入这些文件即可。 ### 回答3: 使用webpack将多个JavaScript文件打包成一个文件有几个步骤: 1. 安装webpack:首先,在项目目录下打开终端,运行以下命令安装webpack(如果尚未安装):npm install webpack webpack-cli --save-dev 2. 创建webpack配置文件:在项目根目录下创建一个名为webpack.config.js文件,并添加以下内容: ``` const path = require('path'); module.exports = { entry: { bundle: './src/index.js', // 输入文件路径 }, output: { filename: 'bundle.js', // 输出文件的名称 path: path.resolve(__dirname, 'dist'), // 输出文件的目录路径 }, }; ``` 3. 根据你的需求,在项目的src文件夹下创建多个JavaScript文件。例如,src文件夹下有两个JavaScript文件:file1.js和file2.js。 4. 在入口文件index.js中引入需要打包的JavaScript文件。例如,index.js文件中可以包含以下内容: ``` import './file1.js'; import './file2.js'; ``` 5. 执行打包命令:在终端中运行以下命令,将多个JavaScript文件打包为一个文件: ``` npx webpack --config webpack.config.js ``` 6. 打包完成后,将生成的bundle.js文件保存在dist文件夹下。 通过以上步骤,你可以使用webpack将多个JavaScript文件打包成一个文件。你可以在HTML文件中引入打包后的文件bundle.js,以便在浏览器中加载。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值