一、优化项目结构,创建相关的文件,项目结构如下:

src文件夹存放相关js文件,index.html项目的首页面,dist文件夹是webpack 打包 目录。

index.js内容为:

alert('我就是webpack');

index.html内容为:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script src="bundle.js"></script>
</head>
<body></body>
</html>

这里引用bundle.js是用webpack编译之后的文件,这里不要写src/index.js,如果index.js里面涉及到require('./a')这样的语法,不经过编译浏览器是无法识别的。

二、创建 webpack.config.js

如果对 gulpfile.js和Gruntfile.js比较了解的话, 对webpack.config.js就比较容易了解,webpack.config.js是webpack的入口,里面配置webpack运行时的相关的参数。webpack.config.js就是webpack的指挥官,他来指挥webpack都是做哪些事情,如何去做。

创建之后的目录结构:

三、WebPack的配置

var webpack = require('webpack');
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');module.exports = {//页面入口文件配置entry: {index: './src/index.js'},//入口文件输出配置output: {path: __dirname,filename: "bundle.js"}  }};

 

第一步、使用require 导入webpack

var webpack = require('webpack');

把这句话当作 在html页面使用<script src="webpakc.js"></script>引用webpack文件。

第二步:声明webpack提供的提取文件公共部分的对象

var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');

CommonsChunkPlugin 是webpack的一个插件,它用于提取多个入口文件的公共脚本部分,然后生成一个 common.js 来方便多页面之间进行复用。 什么意思哪?例如:

a.js

function a(){}

b.js

function a(){}

a.js和b.js都同样有a函数,如果一个js文件同时引用这两个js文件,webpack 在运行的时候会把这两个函数提取到common.js文件,并且只留下一个,因为它们相同。

第三步:使用module.exports配置webpack的相关参数和方法

  1. entry 是页面入口文件配置,

  2. output 是对应输出项配置 (即入口文件最终要生成什么名字的文件、存放到哪里),__dirname表示当前项目的目录,nodejs语法。

第四步、执行编译命令

目前为止webpack的基本配置都已经完成了, 这个时候就需要在项目根目录,执行webpack编译命令。

webpack

这个时候项目中就会生成bundle.js文件,bundle.js文件的内容如下:

/******/ (function(modules) { // webpackBootstrap
/******/    // The module cache
/******/    var installedModules = {};/******/     // The require function
/******/    function __webpack_require__(moduleId) {/******/        // Check if module is in cache
/******/        if(installedModules[moduleId])
/******/            return installedModules[moduleId].exports;/******/      // Create a new module (and put it into the cache)
/******/        var module = installedModules[moduleId] = {
/******/            exports: {},
/******/            id: moduleId,
/******/            loaded: false
/******/        };/******/      // Execute the module function
/******/        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);/******/        // Flag the module as loaded
/******/        module.loaded = true;/******/      // Return the exports of the module
/******/        return module.exports;
/******/    }/******/   // expose the modules object (__webpack_modules__)
/******/    __webpack_require__.m = modules;/******/   // expose the module cache
/******/    __webpack_require__.c = installedModules;/******/  // __webpack_public_path__
/******/    __webpack_require__.p = "";/******/  // Load entry module and return exports
/******/    return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports) {alert('我就是webpack');/***/ }
/******/ ]);

第五 步、  运行index.html

目前为止所有的工作都已经做完了,这个时候运行index.html文件

四、总结

webpack的使用非常的方便,只需要安装、配置、 执行命令,就可以完成了。webpack配置文件有很多的参数可以进行设置。以后章节我们将 逐步讲解高级配置以及模块之间的依赖引用。

转载于:https://www.cnblogs.com/liuchuanfeng/p/6802532.html

Webpack的基本配置相关推荐

  1. React + Typescript + Webpack 开发环境配置

    对于复杂或多人开发的 React 项目来说,管理和使用每个组件的 props . state 或许会成为一件让人头痛的事情,而为每一个组件写文档,成本也会比较大,对项目的开发效率也不是最理想的. Ty ...

  2. vue-cli中的webpack的config配置详细说明

    vue-cli中的webpack的config配置详细说明 打开我们的vue项目文件夹我们可以清楚的看到文件夹下的三个文件, "dev.env.js","index.js ...

  3. webpack打包后引用cdn的js_手摸手 Webpack 多入口配置实践

    最近在做项目的时候遇到了一个场景:一个项目有多个入口,不同的入口,路由.组件.资源等有重叠部分,也有各自不同的部分.由于不同入口下的路由页面有一些是重复的,因此我考虑使用 Webpack 多入口配置来 ...

  4. webpack 4.0 配置方法以及错误解决

    webpack 4.0 配置方法以及错误解决 参考文章: (1)webpack 4.0 配置方法以及错误解决 (2)https://www.cnblogs.com/qqfontofweb/p/8516 ...

  5. webpack安装及配置

    1.概念 webpack是一个静态化前端打包,可以把复杂的依赖关系打包为一个或多个文件,最终生成浏览器可以识别的资源html.css图片,js 2.安装 win+r输入cmd 唤出系统控制面板 然后进 ...

  6. Vue2,Webpack的基础配置以及使用脚手架创建工程

    Webpack的基础配置以及使用脚手架创建工程 文章目录 Webpack的基础配置以及使用脚手架创建工程 一.模块化 二.webpack 1.在项目中安装webpack 2.完成更加复杂的打包工作(c ...

  7. 一文搞懂 Webpack 多入口配置

    最近在做项目的时候遇到了一个场景:一个项目有多个入口,不同的入口,路由.组件.资源等有重叠部分,也有各自不同的部分.由于不同入口下的路由页面有一些是重复的,因此我考虑使用 Webpack 多入口配置来 ...

  8. React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)

    本教程总共7篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1.React多页面应用1(webpack开发环境搭建,包括Babel.热更新等) ----2017 ...

  9. webpack从0配置和使用

    webpack 1. webpack 概念: 支持模块化 和 打包 核心功能 实现前端模块化开发,支持 CommonJS.AMD.CMD,ES6 方案 支持模块化开发,并且帮我们建立,模块之间的依赖关 ...

  10. webpack大全---------(基础配置篇)----4.webpack实例三

    上一篇:webpack大全---------(基础配置篇)----2.webpack实例二 webpack实例三:讲述代码效验模块eslint.引入第三方模块的处理.图片的打包处理. 第一步:安装配置 ...

最新文章

  1. 开源 java CMS - FreeCMS2.7 移动端首页静态化
  2. 通过此注释改善您的JUnit体验
  3. 对List.Sort的简单研究
  4. 网管怎么么叫好听_找了三天三夜,这24首歌,太好听了,一定要送给你!谢谢最亲爱的你,梦中想着你,死心塌地去爱你...
  5. 【图像增强】基于matlab暗通道先验图像去雾【含Matlab源码 1367期】
  6. ubuntu/Windows双系统,在ubuntu隐藏window分区的方法
  7. 数据挖掘概念与技术(韩家伟)阅读笔记5--数据规范化和属性构造
  8. DEVC6.0使用教程
  9. ISO 3166 2位国别编码
  10. excel如何随机抽样
  11. 基于matlab的模糊PID控制仿真
  12. 数据分析思维:分析方法和业务知识
  13. DHCP配置实验(包括接口模式、全局模式和中继模式)
  14. 什么是DHCP(中继模式)
  15. mysql存储包含单引号英文字符串,SQL中写入包含有英文单引号“ '' ”失败问题深入详解...
  16. matlab solve 矩阵,在Matlab中求解矩阵DAE系统
  17. 2022百度春节红包活动 集好运分5亿活动规则
  18. 操作系统-添加文件加密系统
  19. 动力节点『lol版』Java学习路线图(五)Java框架阶段
  20. 计算机英语boot,电脑开不了机显示英文boottmgr

热门文章

  1. 解析字符串获取路径_node学习--path 路径模块
  2. Windows10下VB6.0开发——ini文件存储参数信息
  3. 装饰器模式在 Collections 类中的应用
  4. Hive数据更新同时去重入门
  5. Apache Sqoop性能调整
  6. spark mlib入门
  7. spark练习之统计广告Top3
  8. 数据结构HashMap(Android SparseArray 和ArrayMap) 1
  9. spring、spring-boot配置文件属性内容加解密
  10. android: 多线程编程基础