精华内容
下载资源
问答
  • webpack有什么作用? 1、webpack是node的第三方包 2、可以根据模块化依赖打包文件,打包后的代码会按照 前端的模块化规范 1、利用自执行函数 2、AMD规范 3、CMD规范 4、commonjs babel 告诉服务器从哪提供内容 dev...

    webpack有什么作用?

    1、webpack是node的第三方包

    2、可以根据模块化依赖打包文件,打包后的代码会按照

    前端的模块化规范

    1、利用自执行函数

    2、AMD规范

    3、CMD规范

    4、commonjs

    babel

    告诉服务器从哪提供内容

    devServer.contentBase

    exclude 排除特定条件

    include 匹配特定条件

    ExtractTextWebpackPlugin 提取css文件

    url-loader 解析较小文件

    file-loader 解析较大文件

    file-loader 返回文件地址的哈希值

    url - loader 返回

    全局安装babel

    babel-loader@7

    babel-preset-env

    babel-core

    测试环境 development

    生产环境 production

    合并配置项 npm i webpack-merge -D

    devtool

    控制是否生成,以及如何生成source map

    展开全文
  • webpack作用

    2017-04-06 19:03:00
    webpack WebPack是一个模块打包工具,你可以使用WebPack管理你的模块依赖,并编绎输出模块们所需的静态文件。它能够很好地管理、打包Web开发中所用到的HTML、JavaScript、CSS以及各种静态文件(图片、字体等),让...

    webpack

    WebPack 是一个模块打包工具,你可以使用WebPack管理你的模块依赖,并编绎输出模块们所需的静态文件。它能够很好地管理、打包Web开发中所用到的HTML、JavaScript、CSS以及各种静态文件(图片、字体等),让开发过程更加高效。对于不同类型的资源,webpack有对应的模块加载器。webpack模块打包器会分析模块间的依赖关系,最后 生成了优化且合并后的静态资源。

    webpack的两大特色:

    1.code splitting(可以自动完成)
    
    2.loader 可以处理各种类型的静态文件,并且支持串联操作
    

    webpack 是以commonJS的形式来书写脚本滴,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。

    webpack具有requireJsbrowserify的功能,但仍有很多自己的新特性:

    1. 对 CommonJS 、 AMD 、ES6的语法做了兼容
    
    2. 对js、css、图片等资源文件都支持打包
    
    3. 串联式模块加载器以及插件机制,让其具有更好的灵活性和扩展性,例如提供对CoffeeScript、ES6的支持
    
    4. 有独立的配置文件webpack.config.js
    
    5. 可以将代码切割成不同的chunk,实现按需加载,降低了初始化时间 6. 支持 SourceUrls 和 SourceMaps,易于调试 7. 具有强大的Plugin接口,大多是内部插件,使用起来比较灵活 

     

    转载于:https://www.cnblogs.com/zero7room/p/6674998.html

    展开全文
  • 一、项目初始化、安装webpack/webpack-cli、第一次打包 1)项目初始化 npm init 输入项目名,其它默认即可 命令完成后会在项目下生成一个package.json: package name: (webpack) webpack1 version: (1.0.0) ...

    一、项目初始化、安装webpack/webpack-cli、第一次打包

    1)项目初始化

    npm init
    输入项目名,其它默认即可
    

    命令完成后会在项目下生成一个package.json:
    package name: (webpack) webpack1
    version: (1.0.0)
    description:
    entry point: (index.js)
    test command:
    git repository:
    keywords:
    author:
    license: (ISC)
    About to write to F:\Demo\webpack\package.json:
    内容如下

    {
      "name": "webpack1",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
    
    

    2)安装webpack和webpack-cli:全局工具及项目开发依赖

    2.1全局安装

    cnpm i webpack webpack-cli -g
    

    2.2项目开发依赖安装

    cnpm i webpack webpack-cli -D
    -D相当于:
    --save-dev
    

    命令完成后package.json增加了如下:
    “devDependencies”: {
    “webpack”: “^5.11.0”,
    “webpack-cli”: “^4.2.0”
    }

    3)编写入口文件src/index.js

    /*
    入口文件:打包时以此为入口
    */
    
    function add(a,b){
        return a+b
    }
    
    console.log(add(1,2))
    

    4)开发环境打包development和生产环境打包production

    1. 开发环境打包:
      webpack ./src/index.js -o ./build --mode=development
      含义:以index.js为入口文件,打包输出到./build/main.js,以开发模式
    2. 生产环境打包:
      webpack ./src/index.js -o ./builde/build.js --mode=production
      含义:以index.js为入口文件,打包输出到build.js,以生产模式
    开发环境打包:
    webpack ./src/index.js -o ./build/dev --mode=development
    
    生产环境打包:
    webpack ./src/index.js -o ./build/pro --mode=production
    

    运行效果:

    F:\Demo\webpack\webpack1>webpack ./src/index.js -o ./build/production --mode=pro
    duction
    [webpack-cli] Compilation finished
    asset main.js 15 bytes [emitted] [minimized] (name: main)
    ./src/index.js 422 bytes [built] [code generated]
    webpack 5.11.0 compiled successfully in 327 ms
    
    F:\Demo\webpack\webpack1>webpack ./src/index.js -o ./build/dev --mode=developmen
    t
    [webpack-cli] Compilation finished
    asset main.js 1.18 KiB [emitted] (name: main)
    ./src/index.js 422 bytes [built] [code generated]
    webpack 5.11.0 compiled successfully in 173 ms
    

    开发打包代码:build/dev/main.js

    /*
     * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
     * This devtool is not neither made for production nor for readable output files.
     * It uses "eval()" calls to create a separate source file in the browser devtools.
     * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
     * or disable the default devtool with "devtool: false".
     * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
     */
    /******/ (() => { // webpackBootstrap
    /*!**********************!*\
      !*** ./src/index.js ***!
      \**********************/
    eval("/*1.开发环境打包:\r\n    webpack ./src/index.js -o ./build --mode=development\r\n    含义:以index.js为入口文件,打包输出到./build/main.js,以开发模式\r\n2.生产环境打包:\r\n    webpack ./src/index.js -o ./builde/build.js --mode=production\r\n    含义:以index.js为入口文件,打包输出到build.js,以生产模式\r\n*/\r\n\r\nfunction add(a,b){\r\n    return a+b\r\n}\r\n\r\nconsole.log(add(1,2))\n\n//# sourceURL=webpack://webpack1/./src/index.js?");
    /******/ })()
    ;
    

    生产打包如下build/pro/main.js:

    console.log(3)
    

    二、webpack本身只能处理js/json文件,其它如css/image都不能处理

    1)建一个文件data.json

    {
        "name":"小明",
        "age":18,
        "sex":"女"
    }
    

    2)引用json:index.js

    import data from './data.json'
    console.log(data)
    

    3)再次打包

    开发模式打包直接入到build根目录:
    webpack ./src/index.js -o ./build --mode=development
    
    生产模式打包:
    webpack ./src/index.js -o ./build/pro --mode=production
    

    开发模式代码build/main.js

    /*
     * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
     * This devtool is not neither made for production nor for readable output files.
     * It uses "eval()" calls to create a separate source file in the browser devtools.
     * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
     * or disable the default devtool with "devtool: false".
     * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
     */
    /******/ (() => { // webpackBootstrap
    /******/ 	"use strict";
    /******/ 	var __webpack_modules__ = ({
    
    /***/ "./src/data.json":
    /*!***********************!*\
      !*** ./src/data.json ***!
      \***********************/
    /***/ ((module) => {
    
    eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"小明\\\",\\\"age\\\":18,\\\"sex\\\":\\\"女\\\"}\");\n\n//# sourceURL=webpack://webpack1/./src/data.json?");
    
    /***/ }),
    
    /***/ "./src/index.js":
    /*!**********************!*\
      !*** ./src/index.js ***!
      \**********************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _data_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./data.json */ \"./src/data.json\");\n/*入口文件:打包从此处开始\r\n\r\n1.开发环境打包:\r\n    webpack ./src/index.js -o ./build --mode=development\r\n    含义:以index.js为入口文件,打包输出到./build/main.js,以开发模式\r\n2.生产环境打包:\r\n    webpack ./src/index.js -o ./builde/build.js --mode=production\r\n    含义:以index.js为入口文件,打包输出到build.js,以生产模式\r\n*/\r\n\r\nfunction add(a,b){\r\n    return a+b\r\n}\r\n\r\nconsole.log(add(1,2))\r\n\r\nconsole.log(_data_json__WEBPACK_IMPORTED_MODULE_0__)\n\n//# sourceURL=webpack://webpack1/./src/index.js?");
    
    /***/ })
    
    /******/ 	});
    /************************************************************************/
    /******/ 	// The module cache
    /******/ 	var __webpack_module_cache__ = {};
    /******/ 	
    /******/ 	// The require function
    /******/ 	function __webpack_require__(moduleId) {
    /******/ 		// Check if module is in cache
    /******/ 		if(__webpack_module_cache__[moduleId]) {
    /******/ 			return __webpack_module_cache__[moduleId].exports;
    /******/ 		}
    /******/ 		// Create a new module (and put it into the cache)
    /******/ 		var module = __webpack_module_cache__[moduleId] = {
    /******/ 			// no module.id needed
    /******/ 			// no module.loaded needed
    /******/ 			exports: {}
    /******/ 		};
    /******/ 	
    /******/ 		// Execute the module function
    /******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
    /******/ 	
    /******/ 		// Return the exports of the module
    /******/ 		return module.exports;
    /******/ 	}
    /******/ 	
    /************************************************************************/
    /******/ 	/* webpack/runtime/make namespace object */
    /******/ 	(() => {
    /******/ 		// define __esModule on exports
    /******/ 		__webpack_require__.r = (exports) => {
    /******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
    /******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    /******/ 			}
    /******/ 			Object.defineProperty(exports, '__esModule', { value: true });
    /******/ 		};
    /******/ 	})();
    /******/ 	
    /************************************************************************/
    /******/ 	// startup
    /******/ 	// Load entry module
    /******/ 	__webpack_require__("./src/index.js");
    /******/ 	// This entry module used 'exports' so it can't be inlined
    /******/ })()
    ;
    

    生产模式代码build/pro/main.js

    (()=>{"use strict";const e=JSON.parse('{"name":"小明","age":18,"sex":"女"}');console.log(3),console.log(e)})();
    

    如果引入了css文件再打包就会报错

    总结:wp能做什么

    1. webpack能处理js/json资源,不能处理css/img等其他资源
    2. 生产环境和开发环境将ES6模块化编译成浏览器能识别的模块化~
    3. 生产环境比开发环境多一个压缩js代码。
    展开全文
  • 什么是 webpack 以及 其作用?

    万次阅读 多人点赞 2019-05-24 19:11:35
    1.理解什么是webpack。 上网搜索的直接解释是: 模块化打包机 或者 模块打包工具。 **首先**,认为它是一个工具,帮助我们更好的处理事情的。 **其次**,“打包”,如何理解? 假设我们需要寄快递。我们将许多的...

    1.理解什么是webpack

    上网搜索的直接解释是: 模块化打包机 或者 模块打包工具。
    首先,认为它是一个工具,帮助我们更好的处理事情的。
    其次,“打包”,如何理解? 假设我们需要寄快递。我们将许多的物品都放进了一个纸皮箱,然后进行封箱。 这就是打包。 对应到前端开发来说,就是将很多的的 css文件,js文件,图片等“物品”,全都写进一个js文件,而不是在一个html页面通过script,link标签去引入多个静态资源。
    模块化,其实不同的css,不同的js就是一个模块。比如说,一个index.html,通常会有一个index.css,
    一个index.js,还有其他的css,js。这些不同的文件都可以看做不同的模块。不同的模块有各自的作用。
    总结来说:用这个工具,帮助我们将不同的资源和文件,进行打包,也就是合并在一个文件里面。 但是不仅仅
    如此,它还附加了一些更好用的功能。
    附加功能:
    1.CSS 预处理。将 Less, Sass 编译成css
    2.ES6 语法 转成 ES5 …(等待学习后补充)

    2.作用

    • 进行重新加载编译。实际就是将浏览器不认识的语法编译成浏览器认识的语法。比如less
      编译成css,ES6 语法 转成 ES5等等。
    • 减少io请求。通常我们在请求后,会返回一个html到浏览器。这时,我们如果打开控制台,就会发现在html页面通过script,link等标签引用的静态资源, 浏览器会再次发出请求去获取这些资源。但是webpack的打包,将所有的静态资源都合并好了,减少了io请求。

    持续学习中,待补充,

    展开全文
  • webpack

    千次阅读 多人点赞 2019-10-17 21:30:04
    webpack的使用2.1 webpack的安装2.2 webpack的使用2.2.1 项目搭建思路2.2.2 webpack作用2.3 webpack的配置文件webpack.config.js2.4 自定义配置文件2.5 执行webpack之后发生了什么2.6 配置多个入口...
  • webpack 原理剖析

    2020-09-14 00:07:36
    一、webpack 启动过程分析 ###1.从webpack命令行说起(此部分可视为进入构建前处理) 通过npm scripts 运行 webpack 开发环境:npm run dev 生产环境:npm run build webpack运行的两种方式 1)通过 webpack 命令...
  • 2.作用 (1)重新加载编译,将浏览器不认识的语法编译成浏览器认识的语法。less编译成css,ES6语法转换成ES5。 (2)减少io请求。发送请求,会发挥一个html到浏览器,这是,打开控制台会发现html页面通过script,...
  • react中css模块化可通过配置webpack 类似于vue中css作用域有scoped指令作用组件内起作用 css-loader之后可通过?追加参数,类似地址栏url参数形式 固定参数modules,表示普通css样式表,启用模块化 module:{ ...
  • webpack是一个模块打包的工具,它的作用是把互相依赖的模块处理成静态资源。这篇文章主要介绍了vue-cli工程webpack作用和特点,需要的朋友可以参考下
  • webpack基础入门

    2017-03-14 14:30:00
    我相信,有不少的朋友对webpack都有或多或少的了解。网上也有了各种各样的文章,文章内作者也写出了不少自己对于webpack这个工具的理解。在我刚刚接触webpack的时候,老实说,网上大部分的文章我是看不懂的。。...
  • webpack原理

    千次阅读 2019-04-20 09:46:55
    1.webpack核心概念 entry: 一个可执行模块或库的入口文件。 chunk :多个文件组成的一个代码块,例如把一个可执行模块和它所有依赖的模块组合和一个 chunk 这体现了webpack的打包机制。 loader :文件转换器,例如...
  • webpack的介绍与使用

    万次阅读 热门讨论 2018-03-11 14:54:05
    前端打包工具有webpack、grunt、gulp等,这里主要介绍webpack.一、webpack的基本能力:处理依赖、模块化、打包 1、依赖管理:方便引用第三方模块,让模块更容易复用、避免全局注入导致的冲突、、避免重复加载或者...
  • webpack 打包作用

    2019-08-18 16:55:35
    webpack做了哪些事 把这些不同的静态资源的类型把它打包成一个js,然后我们在html里面去引用这个js的时候,我们的html里面的js就可以正常的运行然后去执行我们的操作 因为我们大家知道做前端项目的时候,大家应该有...
  • webpack是做什么的 webpack是前端静态资源构建工具,用于现在javascript应用程序的静态模块打包工具。 在项目中我们可能会用到.less文件和es6文件,我们需要将这些文件转换成html能直接使用的文件,比如less转css ,...
  • Webpack面试题

    2021-03-29 00:32:26
    公司官网:CVTE(广州视源股份) 团队:CVTE旗下未来教育希沃软件平台中心enow团队 本文作者: 温广名片2.png 前言 在前端工程化日趋复杂的今天,模块打包工具在我们的开发中起到了越来越重要的作用,其中webpack就是...
  • 使用webpack

    2017-02-25 21:42:09
    首先文件夹vue-loader-demo |-main.js 入口文件 |-App.vue vue文件 |-package.json 工程文件(项目依赖、名称配置) ...|-webpack.config.js webpack配置文件  -------------------------------------
  • Webpack节点模块外部 轻松排除Webpack中的节点模块 Webpack允许您定义组件-不应捆绑的模块。 与后端的Webpack捆绑在一起时-通常,您不想捆绑其node_modules依赖项。 这个库创建的外部函数忽略node_modules中的...
  • vue init webpack-simple这样的方式适合小项目,vue init webpack这样的方式适合中大型项目; 两种方式初始化Vue-Cli的项目的目录差别比较大,你可以发现使用vue init webpack这样的方式来初始化项目,默认提供了很...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,740
精华内容 14,696
关键字:

webpack的作用