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

作者:佛佛? 时间:2024-04-30 10:23:04 

方式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>

来源:https://blog.csdn.net/LzzMandy/article/details/126669128

标签:uniapp,模块化,js文件,非模块化
0
投稿

猜你喜欢

  • Python基于递归算法实现的汉诺塔与Fibonacci数列示例

    2021-07-01 15:57:12
  • Python基于pygame实现图片代替鼠标移动效果

    2023-10-24 13:33:34
  • 详解phpMyAdmin的安装和配置

    2007-06-15 09:56:00
  • 详解Python中range()与xrange()的区别

    2021-09-06 12:32:14
  • Python获取指定文件夹下的文件名的方法

    2022-04-26 03:10:03
  • 15个应该掌握的Jupyter Notebook使用技巧(小结)

    2023-12-14 15:25:05
  • Go语言结构体Go range的学习教程

    2024-05-05 09:33:49
  • Python单元测试的9个技巧技巧

    2023-03-22 09:58:57
  • python SocketServer源码深入解读

    2023-04-15 18:38:44
  • python的django写页面上传文件及遇到的问题小结

    2022-02-28 23:21:10
  • python记录程序运行时间的三种方法

    2023-08-25 03:12:19
  • Python Django 母版和继承解析

    2023-02-21 09:44:59
  • pytorch自定义不可导激活函数的操作

    2022-07-05 10:09:13
  • SQL Server 2008+ Reporting Services (SSRS)使用USER登录问题

    2024-01-15 18:21:30
  • python绘制已知点的坐标的直线实例

    2023-03-12 08:36:11
  • 一次性压缩Sqlserver2005中所有库日志的存储过程

    2012-01-29 17:58:28
  • Python定时爬取微博热搜示例介绍

    2022-09-18 21:59:18
  • python中如何正确使用正则表达式的详细模式(Verbose mode expression)

    2022-08-28 04:07:02
  • Python 模拟购物车的实例讲解

    2021-01-13 05:24:08
  • Django项目中动态设置静态文件路径的全过程

    2021-07-12 00:52:24
  • asp之家 网络编程 m.aspxhome.com