在meteor项目中插入javascript代码:最佳实践
我有一个meteor项目,我有一个在meteor项目中插入javascript代码:最佳实践,javascript,html,meteor,Javascript,Html,Meteor,我有一个meteor项目,我有一个client文件夹(仅由客户端查看)、一个server文件夹(仅由服务器查看)和一个lib文件夹(由客户端和服务器查看) 我在/client/devices中有两个文件,devices.html和devices.js,它们是html页面的一部分 我必须在这一页中插入日期选择器:然而,说明书上说 我必须在页面底部插入(以便在页面完全加载后加载)这一行: var picker = new Pikaday({ field: document.getElementByI
client
文件夹(仅由客户端查看)、一个server
文件夹(仅由服务器查看)和一个lib
文件夹(由客户端和服务器查看)
我在/client/devices
中有两个文件,devices.html
和devices.js
,它们是html页面的一部分
我必须在这一页中插入日期选择器:然而,说明书上说
我必须在页面底部插入(以便在页面完全加载后加载)这一行:
var picker = new Pikaday({ field: document.getElementById('datepicker') });
我试着把它直接放在标签后面,放在标签里;它的工作原理是:
<input type="text" id="datepicker">
<script>
var picker = new Pikaday({ field: document.getElementById('datepicker') });
</script>
var picker=new Pikaday({field:document.getElementById('datepicker')});
我还尝试将它放入Template.devices.onRendered
中,但它不起作用
我的问题是:因为我不确定把代码放在HTML文件中间是一个好的做法,我应该把这一部分放在哪里? ,为了保证第三方代码能在流星应用程序中工作,有一些事情需要做。p>
npm
安装该软件包<body>
{{> devices}}
</body>
<template name="devices">
<input type="text" id="datepicker">
</template>
package.json
{
"name": "test",
"private": true,
"scripts": {
"start": "meteor run"
},
"dependencies": {
"babel-runtime": "^6.20.0",
"meteor-node-stubs": "~0.2.4",
"pikaday": "latest"
}
}
流星包装指南
为了确保第三方代码在Meteor应用程序中正常工作,您需要做一些事情
npm
安装该软件包<body>
{{> devices}}
</body>
<template name="devices">
<input type="text" id="datepicker">
</template>
package.json
{
"name": "test",
"private": true,
"scripts": {
"start": "meteor run"
},
"dependencies": {
"babel-runtime": "^6.20.0",
"meteor-node-stubs": "~0.2.4",
"pikaday": "latest"
}
}
流星包装指南
您是否添加了richsilv:pikaday?是的,它可以工作,我只是不确定该将那段代码放在哪里,因为我对meteor非常陌生,当您将初始化放在
Template.devices.onRendered
中时会发生什么?你说它不工作-有任何错误吗?另外,我建议使用npm
版本而不是meteor软件包:(npm install pikaday
)a。它说TypeError:from[prop]为null
可能指的是导入的文件b。我尝试了npm版本:我也有同样的问题-我需要一个地方来放置上面的行-另外我需要一个地方来放置导入
行。我没有找到一个合适的地方放置它们,所以它不起作用,所以我切换到meteor软件包-至少我在导入方面没有任何问题:)你是否meteor添加了richsilv:pikaday
?是的,它起作用,我只是不知道该把这段代码放在哪里,因为我对在Template.devices.onRendered
中放置初始化时会发生什么很不熟悉?你说它不工作-有任何错误吗?另外,我建议使用npm
版本而不是meteor软件包:(npm install pikaday
)a。它说TypeError:from[prop]为null
可能指的是导入的文件b。我尝试了npm版本:我也有同样的问题-我需要一个地方来放置上面的行-另外我需要一个地方来放置导入
行。我没有找到一个合适的地方放置它们,所以它不起作用,所以我切换到meteor包-至少我在导入方面没有问题:)这不起作用,在main.js中找不到从“Pikaday”导入Pikaday的import代码>import./main.html'
@Diego我的观点只是制作一个MVCE来证明这是可行的。你可能正在做一些你在问题中没有提供的事情,而这正是罪魁祸首。试着缩减你的项目(或者开始一个新的项目),试着让它开始工作,看看有什么不同。这不起作用,在main.js中找不到import Pikaday from'Pikaday'代码>import./main.html'
@Diego我的观点只是制作一个MVCE来证明这是可行的。你可能正在做一些你在问题中没有提供的事情,而这正是罪魁祸首。试着缩减你的项目(或者开始一个新的项目),试着让它开始工作,看看有什么不同。