2014-01-18 6 views
2

Я собираюсь приступить к проекту Node.js с довольно большой кодовой базой. Я бы предпочел оставить мой код отдельно от node_modules.Управление большой кодовой базой в Node.js

Я бы идеально хотел работать с пространствами имен и папками, так как я думаю, что это был бы хороший способ управлять вещами. Однако, предполагая, что я правильно прочитал, это означало бы, что мне придется импортировать любые файлы/«классы», которые мне нужны, используя путь к файлу, который был бы довольно грязным и трудно управляемым.

Что такое метод defacto для управления большой суммой кода для проекта Node.js?

+0

Почему вы думаете, используя в качестве пространств имен путей файлов будет неаккуратно? – Bergi

+2

'node_modules' предназначен для хранения зависимостей, а не ваших собственных модулей. – max

+1

@Bergi, потому что вам нужно управлять файловыми путями и получить правильный относительный путь. – Cheetah

ответ

-1

Мой совет заключается в использовании статического типизированного языка, поскольку они обеспечивают автоматическую функциональность, которая помогает управлять большими кодами. Это может быть, например, дротик, машинопись или кофейник, и все они могут создавать javascript.

Это сообщение хорошо объясняет преимущества (особенно по сравнению с JS): http://arstechnica.com/information-technology/2014/06/why-do-dynamic-languages-make-it-difficult-to-maintain-large-codebases/

Некоторые из основных проблем, указанных в связанном статье:

Там нет никакой системы модульности; нет классов, интерфейсов, или даже пространств имен. Эти элементы находятся на других языках, чтобы помочь организовать большие кодовые базы.

Наследование системы-прототип Наследование - слабо и плохо понимается. Отнюдь не очевидно, как правильно строить прототипы для глубоких иерархий (a капитан - это своего рода пират, пират - это своего рода человек, человек вид вещей ...) JavaScript.

Отсутствует инкапсуляция; каждое свойство каждого объекта дается для встроенной конструкции и может быть изменено по желанию любой частью программы .

Невозможно аннотировать любые ограничения на хранение; любая переменная может содержать любое значение.

Если вы начали с JS и не хотите покидать свою текущую базу кода, вы можете перейти на машинопись. Незадолго до того, как мой проект JS достиг 5000 строк кода (примерно в 15 файлах), я перевел его на машинопись. Мне потребовалось около 4 часов, чтобы вернуть его к работе.

Это сообщение дает некоторое представление от кого-то movig Node.js в машинописном среде: http://tech.kinja.com/my-experience-with-typescript-710191610

 Смежные вопросы

  • Нет связанных вопросов^_^