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

注意

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

发表回复