uniapp引入模块化js文件和非模块化js文件的四种方式

目录
  • 方式1:引入普通的js文件,如user.js
    • 1.1、属性和方法都写在一个变量内部
    • 1.2、也可以单独写
  • 方式2:把user.js放在入口文件main.js中,成为全局方法
  • 方式3:引入第三方的模块化.js文件
  • 方式4:uniapp开发的H5,引入第三方的非模块化.js文件
    • 4.1、nomodule.js
    • 4.2、 并在入口.html文件中引入全局js
    • 4.3、在.vue页面中引用

方式1:引入普通的js文件,如user.js

1.1、属性和方法都写在一个变量内部

const user={
    login:true,
    isLogin:function(data){
        console.log("展示用户登录信息")
    }
}
export default user;

1.2、也可以单独写

function isLogin(data){
    console.log("展示用户登录信息")
}
function getMobile(data){
    console.log("22222222")
}
 
export default {
    isLogin,
    getMobile
}

在.vue页面中引用:

<script>
    // 绝对路径,@指向项目根目录,在cli项目中@指向src目录
    import userfrom '@/common/user.js';
    // 相对路径
    import user from '../../common/user.js';
 
    export default {
        ...
        methods: {
            test(){
                user.isLogin()  //具体使用
            }
        }
    }
 
</script>

注意

  • js 文件不支持使用/开头的方式引入

方式2:把user.js放在入口文件main.js中,成为全局方法

import user from './common/user.js';
Vue.prototype.$user = user;

在.vue页面中引用:

<script>
    export default {
        ...
        methods: {
            test(){
                this.$user.isLogin()//具体使用
            }
        }
    }
</script>

方式3:引入第三方的模块化.js文件

如md5.js加密文件,可以放在common文件夹下,当成普通的.js文件引用即可,模块化的通过module.exports暴露出来成为一个对象:

var exports = createMethod();
if (COMMON_JS) {
    module.exports = exports;
} else {
    root.md5 = exports;
    if (AMD) {
        define(function () {
            return exports;
        });
    }
}

在.vue页面中引用:

<script>
    import md5 from '../../common/md5.js';
    export default {
        ...
        methods: {
            test(){
                let sign = md5(getSignStr(arrKeys, arrValues)).toUpperCase();
            }
        }
    }
</script>

方式4:uniapp开发的H5,引入第三方的非模块化.js文件

如nomodule.js,就是纯js文件,没有module.exports暴露出来成为一个对象,这种放在common文件夹下,像上面那样引入会提示找不到,这时候应该把该nomodule.js放在static文件夹下,uniapp发行H5时static文件下的内容不编译,在并在入口.html文件中引入全局js,在.vue页面中直接引用就行

4.1、nomodule.js

function isNoModule(data){
    console.log("3333333")
}

4.2、 并在入口.html文件中引入全局js

<script charset="utf-8" src="<%= BASE_URL %>static/nomodule.js"></script>

4.3、在.vue页面中引用

<script>
    export default {
        ...
        methods: {
            test(){
                isNoModule();
            }
        }
    }
</script>

到此这篇关于uniapp引入模块化js文件和非模块化js文件的文章就介绍到这了,更多相关uniapp引入模块化js文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • UNiAPP中如何使用render.js绘制高德地图

    目录 什么是render.js 使用方式 在uniAPP中使用render.js 绘制高德地图 明确需求 解决思路 编写代码 vue页面使用render.js 初始化地图 实现效果 render.js中的通信 1.数据的绑定 2.数据的接收 3.render.js中向vue页面发送数据 总结 什么是render.js renderjs是一个运行在视图层的js.它比WXS更加强大.它只支持app-vue和h5. renderjs的主要作用有2个: 大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交

  • uniapp中renderjs使用与传值问题

    目录 前言 一.renderjs的作用是什么? 二.renderjs怎样使用? 三.测试代码(借用网上一段代码,写的很全面) 补充:uniapp 中renderjs传值问题 总结 前言 需求是用openlayers在uniapp框架下做一个移动gis类的软件,选择用renderjs实现地图与dom的交互,一开始也是小白,通过百度资料以及一步步测试后掌握了renderjs的使用,以及地图功能的实现. 一.renderjs的作用是什么? renderjs 主要服务于APP,因为uni-app为vue

  • js学习总结_基于数据类型检测的四种方式(必看)

    1.typeof 用来检测数据类型的运算符 console.log(typeof 12)//Number 使用typeof检测数据类型,首先返回的都是字符串 ,其次字符串中包含了对应的数据类型 例如:"number"."string"."boolean"."undefined"."function"."object" console.log(typeof typeof function(

  • uniapp引入模块化js文件和非模块化js文件的四种方式

    目录 方式1:引入普通的js文件,如user.js 1.1.属性和方法都写在一个变量内部 1.2.也可以单独写 方式2:把user.js放在入口文件main.js中,成为全局方法 方式3:引入第三方的模块化.js文件 方式4:uniapp开发的H5,引入第三方的非模块化.js文件 4.1.nomodule.js 4.2. 并在入口.html文件中引入全局js 4.3.在.vue页面中引用 方式1:引入普通的js文件,如user.js 1.1.属性和方法都写在一个变量内部 const user={

  • Vue中引入第三方JS库的四种方式

    目录 一.绝对路径直接引入,全局可用 二.绝对路径直接引入,配置后,import 引入后再使用 三.webpack中配置 alias,import 引入后再使用 四.webpack 中配置 plugins,无需 import 全局可用 结论 我们以 jQuery 为例,来讲解 一.绝对路径直接引入,全局可用 主入口页面 index.html 中用 script 标签引入: <script src="./static/jquery-1.12.4.js"></script

  • php使用flock阻塞写入文件和非阻塞写入文件的实例讲解

    阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时) <?php $file = fopen("test.txt","w+"); $t1 = microtime(TRUE); if (flock($file,LOCK_EX)) { sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!&quo

  • JS中封装axios来管控api的2种方式

    前言:我们在开发项目的时候,往往要处理大量的接口.并且在测试环境 开发环境 生产环境使用的接口baseurl都不一样 这时候如果在开发环境完成之后切换每一个接口的baseurl会变的非常的麻烦,(要去每一个发出请求的页面都要去修改地址) 所以为了更好的管控这些api,我们需要自己封装一个axios定义统一的接口baseurl 这样在环境的切换的时候更好的管控和修改.话不多说上代码!!! 自己创建一个api文件夹 即可 import axios from 'axios' 为了处理java字符串问题

  • 详解使用Vue.Js结合Jquery Ajax加载数据的两种方式

    整理文档,搜刮出一个使用Vue.Js结合Jquery Ajax加载数据的两种方式的代码,稍微整理精简一下做下分享. 废话不多说,直接上代码 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <script src="js/jquery.js"

  • JS中循环遍历数组的四种方式总结

    本文比较并总结遍历数组的四种方式: for 循环: for (let index=0; index < someArray.length; index++) { const elem = someArray[index]; // ··· } for-in 循环: for (const key in someArray) { console.log(key); } 数组方法 .forEach(): someArray.forEach((elem, index) => { console.log(

  • python 调用js的四种方式

    1. 前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码 通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Python 实现 本文将聊聊利用 Python 调用 JS 的4种方式 2. 准备 以一段简单的 JS 脚本为例,将代码写入到文件中 //norm.js //计算两个数的和 function add(num1, num2) {     return num1 + num2; } 其中,定义了一个方法,

  • Python 非极大值抑制(NMS)的四种实现详解

    目录 一.  几点说明 1. 简单说明Cython: 2. 简单介绍NMS: 二.  四种方法实现 1. 纯python实现:nms_py.py 2.直接利用Cython模块编译:nms_py1.pyx 3. 更改变量定义后再利用Cython模块编译:nms_py2.pyx 4. 在方法3的基础上利用GPU:gpu_nms.pyx 方法1:纯python语言实现:简介方便.速度慢 方法2:直接利用Cython模块编译 方法3:先将全部变量定义为静态类型,再利用Cython模块编译 方法4:在方法

  • Python读取文件的四种方式的实例详解

    目录 学生数量特别少的情况 停车场空间不够时怎么办? 怎么加快执行效率? 怎么加快处理速度? 结语 故事背景:最近在处理Wikipedia的数据时发现由于数据量过大,之前的文件读取和数据处理方法几乎不可用,或耗时非常久.今天学校安排统一核酸检查,刚好和文件读取的过程非常相似.正好借此机会和大家一起从头梳理一下几种文件读取方法. 故事设定:现在学校要求对所有同学进行核酸采集,每位同学先在宿舍内等候防护人员(以下简称“大白”)叫号,叫到自己时去停车场排队等候大白对自己进行采集,采集完之后的样本由大白

随机推荐