uniapp mock.js(uniapp引入模块化js文件和非模块化js文件)
导读:方式1:引入普通的js文件,如user.js 1.1、属性和方法都写在一个变量内部...
方式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>创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!