Jak możemy lub możemy używać modułów node poprzez npm z Meteorem?
Jak możemy lub możemy używać modułów węzła poprzez npm z Meteor ?
A może to coś, co będzie zależne od opakowania API?
A może jest przepisana metoda, która jest zalecana?
6 answers
Meteor 1.3, wydany 28 marca 2016 roku, zapewnia aplikacjom pełną obsługę modułów ES6 (ES2015) i gotową obsługę NPM. Aplikacje i pakiety mogą teraz ładować Moduły NPM bezpośrednio i łatwo na kliencie i na serwerze.
Jeśli możesz użyć 1.3, sprawdź http://guide.meteor.com/using-packages.html#installing-npm .
Na przykład, aby użyć chwili.js:
meteor npm install --save moment
Następnie w kodzie:
import moment from 'moment';
// this is equivalent to the standard node require:
const moment = require('moment');
Jeśli potrzebujesz użyć starszego wersja Meteor, przeczytaj resztę Odpowiedzi poniżej.
Pre-Meteor 1.3:
Od wersji 0.6.0 Meteor integruje się bezpośrednio z modułami NPM za pomocą zewnętrznego pakietu. Na przykład, aby użyć modułu Jak ws
,
-
W przypadku instalacji lokalnych, zobacz to )
-
W pliku sever JavaScript,
var Websocket = Npm.require('ws'); var myws = new Websocket('url');
Aby użyć modułu węzła rdzenia, wystarczy wykonać odpowiednie Npm.require()
wywołanie, np. var Readable = Npm.require('stream').Readable
.
Możesz użyć dowolnego z ponad 230 000 modułów NPM bezpośrednio z Meteorem dzięki pakietowi npm opracowanemu przez Arunoda.
Możesz również zdefiniować zależności od pakietów Npm z inteligentnych pakietów - z początkowego ogłoszenia obsługi npm:
Twój inteligentny pakiet może teraz definiować zależności bezpośrednio, dodając wywołanie do Npm.depends
w package.js
:
Npm.depends({
"awssum": "0.12.2",
"underscore.string": "2.3.1"
});
Wszystko to działa dobrze z hot code reload, tak jak reszta meteoru. Po wprowadzeniu zmian, bundler automatycznie pobierze brakujące pakiety npm i ponownie przypisze jego zależności.
Aby użyć modułu NPM w kodzie serwera, użyj Npm.require
, tak jak normalnie używasz zwykłego require
. W szczególności __meteor_bootstrap__.require
został wyeliminowany, a wszystkie jego zastosowania zostały przekonwertowane na Npm.require
.
Istnieje mały przykład użycia modułu NPM w Twojej aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:29:12
Zauważ, że ta odpowiedź dotyczy wersji Meteor sprzed 0.6.0, która została wydana w kwietniu 2013 roku i dodana bezpośrednia integracja
npm
Zainstaluj moduły tak, jak normalnie przez npm
, a następnie użyj
var require = __meteor_bootstrap__.require,
pd = require("pd"),
after = require("after") // etc
Załaduj dowolne moduły
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-25 11:25:17
Zrobiłem kompletny zapis na ten temat na Meteorpedii:
Http://www.meteorpedia.com/read/npm
Artykuł opisuje jak używać npm zarówno w aplikacji i / lub pakietach, jak i typowe wzorce do pakowania regularnych wywołań zwrotnych i wywołań zwrotnych emmittera zdarzeń, aby działały poprawnie w Meteorze i włóknach, i zawiera odniesienia do asynchronicznych narzędzi Arunoda i dodatkowych zasobów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-24 05:15:32
Możesz użyć Meteor npm pakiet
meteor add meteorhacks:npm
Następnie utwórz plik packages.json
w katalogu głównym projektu z informacjami o module npm.
{
"redis": "0.8.2",
"github": "0.1.8"
}
Wtedy tak proste jak (po stronie serwera)
var github = Meteor.npmRequire("github");
var redis = Meteor.npmRequire("redis");
Więc wystarczy użyć Meteor.npmRequire
zamiast require
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 00:31:17
Napisałem Gist jak to zrobić od Meteor 0.6.5, Jak dodać węzeł.js npms do Twojego Meteora.projekt js.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-24 22:28:19
Używam takiego skryptu {[2] } który ładnie instaluje wszystkie węzeł.JS zależności. Zachowuje się podobnie do oficjalnego wsparcia w gałęzi Meteor engine (instaluje zależności w czasie wykonywania), ale obsługuje również instalację z repozytoriów Git i podobnych gadżetów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-24 22:29:45