首页 > 其他分享 >vue-webpack

vue-webpack

时间:2023-01-06 22:44:15浏览次数:42  
标签:exports vue module js webpack 模块 加载

vue-webpack

一、相关概念

  1. webpack是一个js应用程序的静态模块打包器(module bundler),能把各种资源都作为模块来处理和使用。当webpack处理应用程序时,它会递归构建一个依赖关系,其中包含应用程序所需的每个模块,然后将这些模块打包成一个或多个bundler。

       大部分浏览器是ES5,但是vue是基于ES6,所以需要webpack进行打包


  1. CommonsJS:服务器端的NodeJS遵循CommonsJS规范,其核心思想是允许模块通过require方法来同步加载所需依赖的其他模块,然后通过exportsmodule.exports来导出需要暴露的接口。

    require("module");

    require("../module.js");

    export.doStuff=function(){}

    module.exports=someValue;

    ​优点:服务器模块便于重用,简单易用,npm中已经有很多可以使用的模块包

    ​缺点:同步的模块加载方式不适合浏览器的异步加载环境(会阻塞)/不能非阻塞的并行加载多个模块


  1. AMD

    优点:可以在浏览器中异步加载模块/可以并行加载多个模块

    缺点:提高开发成本,代码阅读书写困难,模块定义方式语义不畅,不符合通用的模块化思维方式,是一种妥协的实现


  1. ES6:

    ES6标准增加了JS语言层面的模块化体系定义,ES6模块的设计思想是尽量静态化,使编译时就能确定模块的依赖关系,以及输入和输出的变量(CommonsJS和AMD模块都只能在运行时确定这些东西)

    import "jquery";

    export function doStuff(){}

    module "localModule"{}

    优点:容易静态分析,面向未来的ES标准

    缺点:原生浏览器还没有实现该标准,新版的NodeJS才支持


二、webpack安装

  1. 在cmd中输入:npm install webpack -g npm install webpack-cli -g 进行安装
  2. 在cmd中输入:webpack -v webpack-cli -v 测试安装是否成功

三、使用webpack

  1. 创建项目

  2. 创建一个名为modules的目录,用于放置js模块等资源

  3. 在modules下创建模块文件

    hello.js:

    //暴露一个方法
    exports.sayHi=function () {
        document.write("<h1>yuanyu</h1>")
    };
    

    main.js:

    var hello =require("./hello");
    hello.sayHi();
    

    webpack.config.js:

    module.exports={
        entry:"./modules/main.js",
        output:{
            filename:"./js/bundle.js"
        }
    };
    

    image

    (在终端输入webpack后会生成一个dist目录)

  4. 创建index.html,引用刚才打包生成的bundle.js

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <!--前端的模块化开发-->
    <script src="dist/js/bundle.js"></script>
    
    </body>
    </html>
    

    image


​       image

标签:exports,vue,module,js,webpack,模块,加载
From: https://www.cnblogs.com/yuanyu610/p/17031763.html

相关文章

  • vue中$children的理解
    官网介绍$children$children获取当前实例的直接子组件。需要注意$children并不保证顺序,也不是响应式的。[特别重要]如果你发现自己正在尝试使用$children来进行数......
  • Vue:TDesign Starter 自定义指令控制权限
    Vue支持自定义指令,具体API说明可以参考下面两个文档:Vue.directive(id,[definition])Vue自定义指令1.钩子函数Vue.directive提供了几个钩子函数,分别是:bindi......
  • vue的组件封装
    一、为什么要封装组件(组件化开发) 组件化开发(封装组件)的好处好处显而易见,可以增加代码的复用性、灵活性,从而提高开发效率。试想如果一个项目中在很多页面都能用到一个......
  • vue项目服务器部属源码调试解决办法
    一、问题来源   希望在远程发布的测试服务器上直接启用vscode 的调试模试,来解决项目实际部属时的问题。也就是在调试模式下,会有子域名的问题。二、如何在调试模......
  • 如何封装一个vue的插件
    首先在toast文件夹去创建一个index.js文件,在js文件中创建一个对象,将他导出//index.jsconsttoast={}exportdefaulttoast  在main.js中导入这个文件,并且use......
  • 第一节:环境准备、项目结构详解、App.vue/main.js/uni.scss详解、各种引用(组件/js/css
    一. 环境准备1. HbuilderX 下载地址:https://www.dcloud.io/hbuilderx.html 2. 微信开发工具 下载地址:https://developers.weixin.qq.com/miniprogram/dev......
  • vue导航触发流程
    导航被触发。在失活的组件里调用beforeRouteLeave守卫。调用全局的beforeEach守卫。在重用的组件里调用beforeRouteUpdate守卫(2.2+)。在路由配置里调用befor......
  • vue3+vite配置多页面
    通过配置多页面应用,从而将给子模块依赖分隔开各自加载,可以减少初始资源的请求,加快页面的访问速度。比如我们有很多H5页面,并且相互独立,比如报修,购卡,计价规则等等,那我们如......
  • vite+vue3项目在chrome中debuger源码
    在vue文件的script中打上一个debugger,本以为可以开心的debugger了,结果控制台看到的是这个样子查了一些方案,这样就可以解决了......
  • uni-app HBuilderX 工程转换 vue-cli 工程
    1、使用vue-cli4新建空工程vuecreate-pdcloudio/uni-preset-vuemy-project地址不行就直接下载,使用本地地址2、将HBuilderX工程内的文件(除unpackage、node......