【Webpack】webpack安装与js文件的模块化处理

        webpack——前端模块化的打包工具(概念 | webpack 中文文档)。webpack需要基于node环境才能使用,npm可通过node自动安装。其中,npm是一个包管理工具。

(一)webpack的安装

先安装node+npm,最后通过npm命令安装webpack。

注:查看node、npm、webpack版本的命令——node -v、npm -v 、webpack -v


 1.全局安装。 webpack 和 webpack-cli。原因:由于webpack4后的版本,命令迁移至webpack-cli,因此还需安装webpack-cli。

npm install webpack webpack-cli –g 

webpack未安装状态与安装命令

 2.局部安装。本地创建空文件夹myTest并定位(通过cd命令)。在myTest文件夹下,本地安装webpack。

npm install webpack webpack-cli --save-dev

本地文件下局部安装webpack

     注:若使用vscode打开terminal窗口报错时,可参见《 VSCode无法正常启动Terminal窗口 》。

3.查看webpack是否安装成功。

webpack -v

(二)webpack的使用——js文件

当webpack安装成功后,

会在myTest文件夹下自动生成package-lock.json、node_modules文件 。


1.输入命令(如下)对myTest项目进行初始化。初始化的过程可以根据Terminal终端窗口提示的信息补充。结束后,会自动生成 package.json文件  。其中,package.json文件是包管理配置文件。

npm init

npm init命令后生成package.json文件

 2.在myTest文件夹下,新建src文件夹,并新建js子文件夹和index.js文件,用于存放源代码。其中,index.js文件作为等待打包的文件,一般放在src文件夹下即可。在index.js中写下简单的打印输出代码(如下),以备测试。

console.log("888");

3.在myTest文件夹下,新建dist文件夹,用于存放打包后自动生成的.js文件(暂定js文件的名称为bundle.js)。

4.在myTest文件夹下,新建index.html文件。在html中引入bundle.js文件(如下)。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>webpackTest</title>
</head>
<body>
</body>
<script src="./dist/bundle.js"></script> 
</html>

5.在myTest文件夹下,新建webpack.config.js,打开后添加代码如下。

const path=require('path'); //调用node.js中的路径
module.exports={
    entry:'./src/index.js', //入口文件,需要打包的文件
    output:{
        filename:'bundle.js',    //输入的文件名是bundle.js,生成的文件名也是bundle.js
        path:path.resolve(__dirname,'./dist') //指定生成的文件目录,其中__dirname指运行时的当前路径
    },
    mode:"development"    //开发模式,没有对js等文件压缩,默认生成的是压缩文件
}

6.运行webpack进行打包。输入命令(如下),运行成功后,会在dist文件夹中自动生成打包好的bundle.js文件。

webpack --config webpack.config.js
或
webpack

webpack打包命令

7.观察index.html是否正确输出index.js中的结果。其中,index.js打包后,index.html文件下能正常输出index.js中的结果。

index.js打包后index.html文件下能正常输出index.js中的结果

(三)  简化打包的命令

命令 npm run dev,相当于命令 webpack --config webpack.config.js。


1.package.json文件添加配置后(如下)。 

  "dev": "webpack --config webpack.config.js"
或
  "dev": "webpack"

webpack打包命令的简写

 2.使用命令(如下)对index.js文件直接打包。

npm run dev

执行webpack简写命令

(四)js文件的模块化处理

        假设,index.js调用了另一个mathMethod.js中的方法、常量、变量。参考教学视频《最全最新Vue、Vuejs教程,从入门到精通 》。

        方式一:commonjs的模块化规范

        mathMethod.js中的导出:

function add(a,b){
    return a+b;
}
const num1=10;
let num2='&&';

module.exports={
  add,
  num1,
  num2
}

        index.js中的导入:

const {add,num1,num2}=require('./mathCompute.js'); //方法导入

// 输出
console.log('88888');
console.log('66666');
console.log(add(6,8));
console.log(num1);
console.log(num2);

        方式二:ES6的模块化规范

        mathMethod.js中的导出:

export function add(a,b){
  return a*b;
}
export const num1=20;
export let num2='&%&';

        index.js中的导入:

 import {add,num1,num2} from "./mathCompute.js"

// 输出
console.log('88888');
console.log('66666');
console.log(add(6,8));
console.log(num1);
console.log(num2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Webpack 是一个非常流行的 JavaScript 模块打包器,它可以将多个模块打包成一个或多个 bundle,并且支持各种模块类型,包括 JavaScript、CSS、LESS 等。 如果你想在 webpack 中使用 LESS,可以按照以下步骤进行配置: 1. 安装需要的依赖包: ``` npm install less less-loader css-loader style-loader --save-dev ``` 2. 在 webpack 的配置文件中添加以下 loader 配置: ```javascript module: { rules: [ { test: /\.less$/, use: [ { loader: "style-loader" }, { loader: "css-loader" }, { loader: "less-loader" } ] } ] } ``` 上述配置的含义是:首先使用 less-loader 将 LESS 文件编译为 CSS 文件,然后使用 css-loader 将 CSS 文件转换为 JavaScript 模块,最后使用 style-loader 将 JavaScript 模块中的 CSS 插入到 HTML 页面的 style 标签中。 3. 在 JavaScript 模块中导入 LESS 文件: ```javascript import './style.less'; ``` 上述代码会将 style.less 文件打包到 JavaScript 模块中,并且在 HTML 页面中自动插入对应的样式。 通过上述步骤,你就可以在 webpack 中使用 LESS 进行模块化开发了。 ### 回答2: webpack是一个前端模块化的打包工具,而less是一种动态样式语言。结合webpack和less可以实现样式的模块化。 在使用webpack进行less的模块化时,首先需要安装相关的依赖,包括`style-loader`、`css-loader`和`less-loader`。这些loader可以帮助webpack识别和加载less文件。 一般情况下,我们会在Webpack配置文件中配置loader规则,告诉webpack如何处理less文件。可以通过`rules`字段添加相应的loader,例如: ```javascript module: { rules: [ { test: /\.less$/, use: [ 'style-loader', 'css-loader', 'less-loader' ] } ] } ``` 这样webpack在打包时就会根据规则,将引入的less文件转换成CSS并插入到HTML中。 在less文件中,可以通过`@import`语句引入其他的less文件,实现样式的模块化。例如: ```less @import 'variables.less'; @import 'mixins.less'; body { background-color: @primary-color; color: @secondary-color; } ``` 通过这种方式,可以将样式按照功能或组件进行拆分,使得代码更加结构化和可维护。 总而言之,webpack和less可以很好地结合,实现前端代码的模块化。使用webpack进行打包和加载模块,再结合less进行样式的模块化,可以提高开发效率和代码的可维护性。 ### 回答3: webpack是一个用于打包前端资源的工具,而LESS是一种预编译CSS的语言。它们可以通过配置实现模块化。 在webpack的配置文件中,我们可以使用相应的loader来处理LESS文件。通过配置loader,webpack可以将LESS文件转换成CSS文件。同时,我们可以将CSS文件模块化地引入到我们的项目中。 在使用LESS时,我们可以将样式拆分为多个模块,每个模块包含特定的样式规则。这样做的好处是能够提高代码的可维护性和重用性。通过使用@import语句,我们可以将多个LESS文件导入到主文件中,这样所有的样式规则都会被打包到一个CSS文件中。 在webpack配置文件中,我们可以使用LESS loader来转换LESS文件为CSS文件,并通过style loader将CSS插入到HTML中。通过配置extract-text-webpack-plugin插件,我们还可以将CSS提取为单独的文件,而不是将其嵌入到HTML中。 另外,使用webpack模块化功能,我们可以通过配置alias,将指定的导入路径映射为真实路径。这样,在导入LESS文件中的模块时,我们只需要通过相对路径来引用它们,而不需要关心真实路径。 总结而言,通过webpack和LESS的配置,我们可以实现前端资源的模块化。这种模块化的设计可以提高项目的可维护性和重用性,同时也方便了开发者的工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专砖儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值