Инклуд js-файла в Node.js
Хотел заинклудить gl-matrix в свой серверный код на node.js и столкнулся с тем, что нельзя просто заинклудить файл, нужно обязательно трахнуть мозг пытающемуся это сделать.
Почитал это: http://stackoverflow.com/questions/7...ile-in-node-js И был весьма огорчён сложностью действа. Блин, неужели нет простого способа? Это что, сильно нужно? Ёмоё я хотел просто заинклудить либу и юзать её. Опять же, ковыряться в готовой либе (а потом при необходимости её обновить — повторять процедуру) это какой-то совсем не труЪ-вей. В голову лезут совсем уж тупые варианты вроде промежуточного сборщика из нескольких js-файлов одного. Так вот. Что, собственно предложите делать для решения задачи? Мока, твой выход. |
Ответ: Инклуд js-файла в Node.js
Есть два способа:
npm - если твоя либа в репе, то тупо: 'npm install gl-matrix'; Это скачает и поставит её как либо (делай находясь в директории главного исполняемого файла). Затем в коде (скорее всего): PHP код:
Причина по которой нету тупого инклуда очевидна - это не PHP тебе, и компиляции тут тоже нету. Модули загружаются, и могут выгружаться, есть куча зависимостей разных модулей и т.п. следственно нужна дельная система, со своим scope'ом чтобы не ломать другие модули и приложения, например объявляя глобальные переменные (конфликты). Тем более ты когда для себя откроешь npm по полной - это же сказка. Никакой парилки скачивать не нада, тупо 'npm install blah' и всё. |
Ответ: Инклуд js-файла в Node.js
Цитата:
|
Ответ: Инклуд js-файла в Node.js
Любой разраб пишущий мало-мальски серьёзные приложения должен иметь С++ бинарники, питон и т.п.
Да даже не серьёзные - должен иметь. На линях там всё идёт обычно из коробки, на винде - извольте сами ставить. Я например предпочитаю скачать сорсы и собрать как полагается под свой таргет с оптимизациями и т.п. а не юзать бинарник который собран для всех и не оптимален для конкретно моей машины. Ты на линуксах или mac'е попробуй graphicsmagic собрать - обосрёшься вообще. Да и забудь про sqllite. Юзай mongodb. |
Ответ: Инклуд js-файла в Node.js
Ну видимо я не пишу мало-мальски серьёзные приложения. Я хочу взять технологию и работать с ней, а не разбираться с кучей технологий, не касающихся моей непосредственно. Насчёт Sqlite, я с ней работал и для моих задач она подходит, скорость работы не критична, базу данных заполняют люди, которые уже это умеют делать. С Mongodb я не работал, кроме того придётся переучивать людей работать с новым менеджером базы данных.
|
Ответ: Инклуд js-файла в Node.js
В mongo нету пока официального менеджера - пиши сам (тем более бд слишком динамична для какой либо стандаризации для менеджеров). И в этом есть плюсы, т.к. ты напишешь конкретно под задачу то что нужно, что будет в разы удобнее любых менеджеров.
Я написал single-page CMS за 2 недели, с кучей разных данных и типов полей, с фильтрами и всем чем нужно, с использованием RESTful доступа к бд (есть из коробки). А вообще если нету бинарников для какой-то технологии это всегда проблема, и нужно компилить самому. Ваще зажрались. Раньше народ порой сам писал либы зависимостей и затычки.. Это как писать на С++, и жаловаться что тебе нужно ещё и компилить свой код. |
Ответ: Инклуд js-файла в Node.js
Цитата:
Цитата:
|
Ответ: Инклуд js-файла в Node.js
Ты же SQLite собрать пытаешься - а он на C собран.
Тем более если говорить о node.js, то там большая часть модулей - это аддоны (либы), написанные на С. Следственно и компилить их нужно. Поставь node-gyp и cygwin со всякими плюшками и забудь о проблемах компиляции. Если разраб библиотеки не позапотился о нормальной компиляции под винь - то тут уж прости. :) И различай что твой интерпретируемый язык, работает не в закрытой и кем-то разработанной среде (броузер) а в системе, которая везде разная. |
Ответ: Инклуд js-файла в Node.js
Здравствуйте
вот файл "DB.ts" PHP код:
PHP код:
Error: Cannot find module 'DB' А ёсли пробую так: PHP код:
ReferenceError: DB is not defined С Node.js познакомился только сегодня, поэтому я в нем даже не начинающий На этой фиговине прилично подзастрял:) UPD: Какую базу лучше использовать (не-реляционную)? Из требований: максимально быстрая запись. Вроде как Cassandra подходит |
Ответ: Инклуд js-файла в Node.js
.ts? Ты уверен, что тебя интересует TypeScript?
UPD: вроде как монга подходит |
Ответ: Инклуд js-файла в Node.js
Тоже не советую TypeScript юзать.
Cassandra может и быстрая и вместительная, но по фичам и приятности работы проседает конкретно. RethinkDB, MongoDB глянь. На счет "скорость записи", тут чаще твой код больше будет потреблять. У нас real-time сервер редактора на nodejs+redis+mongodb+websockets, и летает при большой нагрузке отлично. |
Ответ: Инклуд js-файла в Node.js
А чем TypeSctipt плох? Мне, после всяких там Java, C#, очень непривычно и неуютно опять писать на JavaScript, и тут TS оказался кстати
Спасибо, значит выбираю монго, чтоб легче освоиться в ноде |
Ответ: Инклуд js-файла в Node.js
ИМХО, он просто ненужен. Но дело личное и тред не об этом.
Твой модуль должен экспортировать класс DB, т.е. Код:
module DB { |
Ответ: Инклуд js-файла в Node.js
Стесняюсь спросить: делать ли для каждого подключенного юзера свое соединение с базой или хватит одного общего?
Использую socket.io и mongoDB (+async для ожидания выполнения запросов к базе) Вопрос идиотский, но все же спросил, на всякий случай :) |
Ответ: Инклуд js-файла в Node.js
Одно соединение.
Хороший mongo модуль будет держать свой пулл сокетов и менеджить его, также из-за натуры асинхронности, не нужно много выпендриваться с разными соединениями. |
Часовой пояс GMT +4, время: 10:21. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot