Events MeteorJS包:访问;事件“;及;“助手”;包内模板的定义(内部)
我创建了一个本地包并添加到我的项目中,还添加了模板 package.jsEvents MeteorJS包:访问;事件“;及;“助手”;包内模板的定义(内部),events,meteor,package,Events,Meteor,Package,我创建了一个本地包并添加到我的项目中,还添加了模板 package.js `Package.onUse(function(api) { api.versionsFrom('1.4.2.3'); api.use('templating', 'client'); api.addFiles('server/main.js', 'server'); api.addFiles('client/main.js', 'client'); api.addFiles('client/main.
`Package.onUse(function(api) {
api.versionsFrom('1.4.2.3');
api.use('templating', 'client');
api.addFiles('server/main.js', 'server');
api.addFiles('client/main.js', 'client');
api.addFiles('client/main.html', 'client');
api.mainModule('pkgName.js');
});`
我在client/main.html中创建了一个模板
<template name="myTemplate">
<button>Test</button>
</template>
但是,当我运行应用程序时-会出现控制台错误
Uncaught TypeError: Cannot read property 'events' of undefined
好的-经过几个小时的研究,似乎Package.onUse函数必须按加载顺序列出依赖项 我认为加载顺序只与主应用程序中的“packages”文件相关,但似乎您也需要按顺序加载依赖项 所以这就解决了---
Uncaught TypeError: Cannot read property 'events' of undefined
Package.onUse(function(api) {
api.versionsFrom('1.4.2.3');
api.addFiles('client/main.html', 'client');
// I moved the html file above the javascript - so the DOM loads first and then the template exists for the event listener to listen to.
api.use('templating', 'client');
api.addFiles('server/main.js', 'server');
api.addFiles('client/main.js', 'client');
api.mainModule('pkgName.js');
});