webpack最基本的用法

webpack最基本的用法

大家好,又见面了,我是全栈君。

webpack

安装

webpack是所以Node.js开发的工具,可通过npm安装,首先要保证node已经安装完毕,可以去node官网下载, 然后通过npm下载webpack

npm install webpack -g

我们只需要webpack构建项目, 项目上线后是不需要依赖webpack的 所以我们在项目文件夹下安装时候可以安装在dev-dependencies中, 即:

npm install webpack --save-dev

在这里我们采用第一种安装方法

编写代码

接下来我们使用webpack构建一个简单的hello word应用, 包括两个js模块

1 生成文本”Hello word”的hello模块(hello.js)

module.exports = "Hello word";

2 打印文本的index模块(index.js)

var text = require('./hello');
console.log(text);

3 页面内容(index.html)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript" src="bundle.js"></script> </body> </html>

引入的bundle.js并不存在,他就是我们使用webpack构建出来的js文件

现在我们的目录结构应该是这样的:

index.js

hello.js

index.html

构建

此时在项目文件夹下使用命令行工具(没有安装git可以按住shift右键,可以直接打开控制台)输入命令

webpack ./index bundle.js

这个命令会告诉webpack 将index.js作为项目入口文件进行构建, 并将结果输出为bundle.js, 然后在项目文件夹下就可以看到bundle.js文件了, 现在在浏览器中打开index.html文件就会在控制台看到输入Hello word了

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] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = 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; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 1); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = "hello word!"; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { var text = __webpack_require__(0); console.log(text); /***/ }) /******/ ]);

转载于:https://www.cnblogs.com/mr-yuan/p/6608142.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108603.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月2日 上午8:00
下一篇 2022年3月2日 上午8:00


相关推荐

  • jmeter测试系统最大并发_jmeter高并发测试

    jmeter测试系统最大并发_jmeter高并发测试操作流程:1.先添加一个线程组2.添加一个查看树*多线程测试指的是在短时间内多次重复请求*多进程测试指的是同一时间内多次重复请求下面图文展示操作步骤:一、添加线程组先新建一个测试计划如下图:创建线程组:在新建的测试计划上右键如下图:线程组参数详解:1.线程数意思是请求多少次2.Ramp-UpPeriod(inseconds)…

    2022年9月30日
    7
  • pycharm运行后出现process finished_pycharm进程已结束,退出代码0

    pycharm运行后出现process finished_pycharm进程已结束,退出代码0pycharm运行代码只显示Processfinishedwithexitcode0的解决办法通过右键xxx.py点击run按钮执行文件,提示Processfinishedwithexitcode0但是通过py.test的命令就可以执行成功且无以下的绿色执行按钮只需要在以下路径中进行设置然后重启pycharm就可以:…

    2022年8月29日
    5
  • Mac快捷键【窗口最小化、切换窗口】

    Mac快捷键【窗口最小化、切换窗口】应用窗口非最大化状态下的快捷键 command m 最小化窗口 command h 切换最近使用过的两个窗口 通用快捷键 command tab 切换最大化的其它应用窗口 command control f 最大 缩小当前窗口 command w 关闭当前窗口 command q 退出当前程序

    2026年3月18日
    2
  • 10款Java小游戏(详解+源码)

    10款Java小游戏(详解+源码)开源Java小游戏前言下面就给大家介绍十几个开源的Java小游戏,供大家学习交流。资源都下载好共享到我的交流群了,需要的在群内自取862461829不收取任何资源费,毕竟开源才是我们的宗旨。【群里还含有:Java80g学习资料包+Java学习书籍+Java项目实战源码+安装软件等】各类资源都有哦~1.数字彩虹雨这是我比较喜欢的一个小应用,虽然代码比较简单但是喜欢那种简单的美。下面是运行截图,就是我们在黑客帝国里面见到的那种数字雨,运行时是全屏的。下面说说下载链接里面的东西.

    2022年7月9日
    21
  • 一种突发事件的时滞动力学模型 2019-nCoV与参数辨识[通俗易懂]

    一种突发事件的时滞动力学模型 2019-nCoV与参数辨识[通俗易懂]@TOC一种突发事件的时滞动力学模型2019-nCoV与参数辨识摘要在本文中,我们提出了一个具有时滞的动态系统来描述2019-nCoV在中国的爆发。这种传染病的一个典型特征是它可以在潜伏期传播,因此可以用微分方程中的时滞过程来描述。分类群体的累计数量作为变量,与官方数据一致,便于参数辨识。为2019-nCoV疫情的预测和参数识别提供了数值方法,数值结果表明,该动态系统能够较好地预测疫情的发展…

    2026年4月16日
    7
  • 微信小程序制作表格代码「建议收藏」

    微信小程序制作表格代码「建议收藏」微信小程序中没有专门的表格制作工具,不过使用列表渲染可以实现,下面是我做的表格图片:方法如下:在XXX.wxml中填写下面的代码参数内容{{item.code}}{{item.text}}{{item.type}}

    2022年7月27日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号