|
JavaScript / HTML Создание динамической разметки страниц |
19.08.2013, 04:39
|
#1
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Инклуд js-файла в Node.js
Хотел заинклудить gl-matrix в свой серверный код на node.js и столкнулся с тем, что нельзя просто заинклудить файл, нужно обязательно трахнуть мозг пытающемуся это сделать.
Почитал это: http://stackoverflow.com/questions/7...ile-in-node-js
И был весьма огорчён сложностью действа.
Блин, неужели нет простого способа? Это что, сильно нужно? Ёмоё я хотел просто заинклудить либу и юзать её. Опять же, ковыряться в готовой либе (а потом при необходимости её обновить — повторять процедуру) это какой-то совсем не труЪ-вей.
В голову лезут совсем уж тупые варианты вроде промежуточного сборщика из нескольких js-файлов одного.
Так вот. Что, собственно предложите делать для решения задачи? Мока, твой выход.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
19.08.2013, 14:41
|
#2
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Есть два способа:
npm - если твоя либа в репе, то тупо: 'npm install gl-matrix';
Это скачает и поставит её как либо (делай находясь в директории главного исполняемого файла).
Затем в коде (скорее всего):
var mat4 = require('mat4').mat4;
Второй способ самому пихнуть класс в exports и также заинклудить (require).
Причина по которой нету тупого инклуда очевидна - это не PHP тебе, и компиляции тут тоже нету.
Модули загружаются, и могут выгружаться, есть куча зависимостей разных модулей и т.п. следственно нужна дельная система, со своим scope'ом чтобы не ломать другие модули и приложения, например объявляя глобальные переменные (конфликты).
Тем более ты когда для себя откроешь npm по полной - это же сказка.
Никакой парилки скачивать не нада, тупо 'npm install blah' и всё.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2013, 14:29
|
#3
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Тем более ты когда для себя откроешь npm по полной - это же сказка.
Никакой парилки скачивать не нада, тупо 'npm install blah' и всё.
|
Если бы ещё под виндой было всё так просто. Например попробуй поставить sqlite на Windows. Я так и не осилил. Какого хрена, я пишу на JavaScript, но должен разобраться как поставить интерпретатор питона и компилятор C++, чтобы собрать либу? Очень огорчает, что нет готовых бинарников под Windows.
|
(Offline)
|
|
21.08.2013, 14:56
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Любой разраб пишущий мало-мальски серьёзные приложения должен иметь С++ бинарники, питон и т.п.
Да даже не серьёзные - должен иметь. На линях там всё идёт обычно из коробки, на винде - извольте сами ставить. Я например предпочитаю скачать сорсы и собрать как полагается под свой таргет с оптимизациями и т.п. а не юзать бинарник который собран для всех и не оптимален для конкретно моей машины.
Ты на линуксах или mac'е попробуй graphicsmagic собрать - обосрёшься вообще.
Да и забудь про sqllite. Юзай mongodb.
|
(Offline)
|
|
21.08.2013, 15:05
|
#5
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Ну видимо я не пишу мало-мальски серьёзные приложения. Я хочу взять технологию и работать с ней, а не разбираться с кучей технологий, не касающихся моей непосредственно. Насчёт Sqlite, я с ней работал и для моих задач она подходит, скорость работы не критична, базу данных заполняют люди, которые уже это умеют делать. С Mongodb я не работал, кроме того придётся переучивать людей работать с новым менеджером базы данных.
|
(Offline)
|
|
21.08.2013, 18:17
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
В mongo нету пока официального менеджера - пиши сам (тем более бд слишком динамична для какой либо стандаризации для менеджеров). И в этом есть плюсы, т.к. ты напишешь конкретно под задачу то что нужно, что будет в разы удобнее любых менеджеров.
Я написал single-page CMS за 2 недели, с кучей разных данных и типов полей, с фильтрами и всем чем нужно, с использованием RESTful доступа к бд (есть из коробки).
А вообще если нету бинарников для какой-то технологии это всегда проблема, и нужно компилить самому. Ваще зажрались. Раньше народ порой сам писал либы зависимостей и затычки..
Это как писать на С++, и жаловаться что тебе нужно ещё и компилить свой код.
|
(Offline)
|
|
22.08.2013, 14:02
|
#7
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Инклуд js-файла в Node.js
В mongo нету пока официального менеджера - пиши сам (тем более бд слишком динамична для какой либо стандаризации для менеджеров). И в этом есть плюсы, т.к. ты напишешь конкретно под задачу то что нужно, что будет в разы удобнее любых менеджеров.
|
Но зачем, если есть Sqlite и прекрасно работает в моих условиях? Как можно что-то рекомендовать, не зная конкретной ситуации?
Это как писать на С++, и жаловаться что тебе нужно ещё и компилить свой код.
|
Причём тут C++? Я пишу на интерпретируемом языке ради всех его преимуществ. Если мне при этом приходится разбираться с компилируемыми языками, то преимущества теряются.
|
(Offline)
|
|
22.08.2013, 14:15
|
#8
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Ты же SQLite собрать пытаешься - а он на C собран.
Тем более если говорить о node.js, то там большая часть модулей - это аддоны (либы), написанные на С. Следственно и компилить их нужно.
Поставь node-gyp и cygwin со всякими плюшками и забудь о проблемах компиляции.
Если разраб библиотеки не позапотился о нормальной компиляции под винь - то тут уж прости.
И различай что твой интерпретируемый язык, работает не в закрытой и кем-то разработанной среде (броузер) а в системе, которая везде разная.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.09.2015, 20:15
|
#9
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Здравствуйте
вот файл "DB.ts"
вот файл "app.ts"
var db = require('DB').DB;
Получаю заряд печали:
Error: Cannot find module 'DB'
А ёсли пробую так:
///<reference path='DB'/>
И пытаюсь использовать обьект DB, то получаю:
ReferenceError: DB is not defined
С Node.js познакомился только сегодня, поэтому я в нем даже не начинающий
На этой фиговине прилично подзастрял
UPD: Какую базу лучше использовать (не-реляционную)? Из требований: максимально быстрая запись. Вроде как Cassandra подходит
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
25.09.2015, 20:20
|
#10
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Инклуд js-файла в Node.js
.ts? Ты уверен, что тебя интересует TypeScript?
UPD: вроде как монга подходит
|
(Offline)
|
|
25.09.2015, 21:14
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Тоже не советую TypeScript юзать.
Cassandra может и быстрая и вместительная, но по фичам и приятности работы проседает конкретно.
RethinkDB, MongoDB глянь.
На счет "скорость записи", тут чаще твой код больше будет потреблять.
У нас real-time сервер редактора на nodejs+redis+mongodb+websockets, и летает при большой нагрузке отлично.
|
(Offline)
|
|
26.09.2015, 12:23
|
#12
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Инклуд js-файла в Node.js
А чем TypeSctipt плох? Мне, после всяких там Java, C#, очень непривычно и неуютно опять писать на JavaScript, и тут TS оказался кстати
Спасибо, значит выбираю монго, чтоб легче освоиться в ноде
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
26.09.2015, 14:24
|
#13
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Инклуд js-файла в Node.js
ИМХО, он просто ненужен. Но дело личное и тред не об этом.
Твой модуль должен экспортировать класс DB, т.е.
module DB {
export class DB {}
}
и использовать нужно reference, да.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.09.2015, 18:51
|
#14
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Стесняюсь спросить: делать ли для каждого подключенного юзера свое соединение с базой или хватит одного общего?
Использую socket.io и mongoDB (+async для ожидания выполнения запросов к базе)
Вопрос идиотский, но все же спросил, на всякий случай
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
28.09.2015, 20:14
|
#15
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Инклуд js-файла в Node.js
Одно соединение.
Хороший mongo модуль будет держать свой пулл сокетов и менеджить его, также из-за натуры асинхронности, не нужно много выпендриваться с разными соединениями.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:24.
|