Подтвердить что ты не робот

Стандартный способ разработки модуля node с использованием Coffeescript?

Есть ли рекомендуемый способ разработки модуля node, если я хочу записать его в Coffeescript, но не хочу, чтобы заставить пользователей модуля требовать модуль coffee-script?

4b9b3361

Ответ 1

Поместите коды CoffeeScript в папку src и скомпилированные JavaScript-коды в папку lib.

Затем в вашем файле package.json объявите main как файл js в папке lib. Тогда пользователям вашего пакета будет нужен файл js вместо файла кофе.

В качестве примера вы можете взять @TrevorBurnham репозиторий.

Ответ 2

Я закончил с папкой src в моем репозитории git; a .gitignore файл с линией для lib; и пустой файл .npmignore. Пустой файл .npmignore необходим, потому что если он не в вашем модуле, вместо этого используется .gitignore.

Я только что добавил Cakefile с задачей создать мой каталог src, используя coffee --compile --output lib/ src/ и pretest и prepublish задачу до package.json для сборки перед тестированием и публикацией.

"scripts": { "pretest": "cake build", "prepublish": "cake build", }

Это решение сохраняет мой репозиторий git чистым (без скомпилированного кода), но добавляет мой javascript-код в lib при публикации на npm.

Ответ 3

Я только начинаю с CoffeeScript, но я бы предложил следующее:

  • Сохраните код CoffeeScript в src/*.coffee,
  • Напишите main.js в корне проекта, который будет зависеть от NPM, и попробуйте сделать что-то вроде require('coffee-script'); require('./src/my_lib.coffee').

Там. Вы никогда не компилируете свой код; все это обрабатывалось прозрачно. Вы не проверяете скомпилированный код на git, и не публикуете лишний скомпилированный JavaScript вместе с несжатым CoffeeScript для NPM.

Edit: В более поздних версиях кофейной зачистки вы должны require('coffee-script/register');