我在开发中想引入外部的JS文件,主要是引用一些基础工具类,一直出现方法未定义的错误.注意不是类似于util.js的那种引用。
比如:我定义实现了一个HashMap,想要在微信小程序中使用和js引用一样的创建方法:
========
var map = new HashMap(); 运行报错,如下图:
HashMap.js如下定义的:
外部JS是如下引用的:
script.lang.String.js是一个字符串的prototype定义,完全可以用,所以我才用一样的方法引入hashmap.js,如下:
我以为是不能用new,但是new Object是完全没有问题的,但是new HashMap()就挂了。。。
整个外部JS都没有使用module.export,但script.lang.String.js中的方法完全可以用.貌似官网都没有这么用过。
======================================================================
是目前不支持这种做法吗?textarea设置自动高度bug+微信小程序教程。还是hashMap定义的有问题?还是其他什么原因。。。。。。
求帮助。。。。。。。。。。。
求帮助。。。。。。。。。。。
求帮助。。。。。。。。。。。
本文来自微信小程序开发者论坛 微信小程序工厂 http://www.xcxgc.com 转载请保留。
微信小程序开发者回答:
再***:
HashMap.js文件这么写:
const HashMap = function(){
}
module.export = {
HashMap: HashMap
}
使用:
const Hash = require("../HashMap.js")
Page({
onLoad: function(){
Hash.HashMap()
}
})
毛***:
不行啊
input组件动态控制password属性无效#微信小程序开发
毛***:
可以了,
var map = new Hash.HashMap();
..怪异啊。。
毛***:
我找到了另外一个解决办法:
因为刚开始纯粹的prototype是可以直接使用的,所以我吧HashMap的创建放到了Object.prototoype里面
Object.prototype.hashMap = function(n){
return new HashMap(n);
};
上面这个代码直接放到HashMap.js里面
后续可以通过:
var map = new Object().hashMap();来使用,
这样就不需要module.exports了,在require的时候也不需要定义变量了。
本文网址:http://www.91bianli.com/weixinxiaochengxu/58084.html