簡體   English   中英

在流星項目中插入javascript代碼:最佳做法

[英]inserting javascript code in a meteor project: best practice

我有一個流星項目,並且有一個client文件夾(僅由客戶端可見), server文件夾(僅由服務器可見)和lib文件夾(由客戶端和服務器均可見)。

我在/client/devices兩個文件devices.htmldevices.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>

我也嘗試將其放在Template.devices.onRendered但它不起作用。

我的問題是:由於我不確定將代碼放在html文件的中間是否是一個好習慣,因此我應該將這部分放在哪里?

您需要做一些事情來確保第三方代碼在Meteor應用程序中可以正常工作。

  1. 確保已通過Atmosphere或npm安裝了該軟件包。
  2. 將包導入到要使用的文件中。
  3. UI就緒后,初始化代碼。

例如:

client / main.html

<body>
  {{> devices}}
</body>

<template name="devices">
  <input type="text" id="datepicker">
</template>

客戶端/ main.js

import { Template } from 'meteor/templating';
import Pikaday from 'pikaday';

import './main.html';

Template.devices.onRendered(function devicesOnRendered() {
  new Pikaday({ field: document.getElementById('datepicker') });
});

package.json

{
  "name": "test",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "babel-runtime": "^6.20.0",
    "meteor-node-stubs": "~0.2.4",
    "pikaday": "latest"
  }
}

包裝流星指南

https://guide.meteor.com/atmosphere-vs-npm.html https://guide.meteor.com/structure.html#importing-from-packages

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM