Могу ли я создать свой собственный скрипт пакета npm, который нацелен на файл моего проекта NEXT. js? - PullRequest
0 голосов
/ 29 апреля 2020

Для более быстрой разработки мне интересно представить один из файлов моего проекта NEXT. js как пакетный скрипт npm. Это позволяет просто использовать этот код из терминала, организовать задачи по обслуживанию и т. Д. c.

Давайте предположим, что файл:

import { Something } from 'some_library';

console.log("Some task to be performed");

И в моем package.json:

"scripts": {
    "dev": "next dev",
    ...
    "mine": "execute my file" < HERE
},

Моей первой интуицией был бы вызов узла прямо над моим файлом в задаче mine, но это не сработало бы со следующей ошибкой:

SyntaxError: Cannot use import statement outside a module

Я понимаю потребности в трансплантации вавилона чтобы выполнить перед вызовом моего файла, я предполагаю, что действие выполняется автоматически командой dev.

Есть ли способ, с помощью которого я мог бы иметь свою собственную задачу, предназначенную для кода, который мог бы использоваться непосредственно в СЛЕДУЮЩЕМ . js ?. Есть ли способ вызвать транспиляцию и после выполнения моего файла?.

1 Ответ

1 голос
/ 30 апреля 2020

Ваш пакет не является частью проекта Next. js и не будет передан Next. js.

Вы можете создать команду (npm scripts), которая вызывает Babel для переноса. пакет, а затем выполняет его, но это просто сбивает с толку. Далее. js проекты по умолчанию не включают Babel в качестве root зависимости, поэтому ваш пакет будет полагаться на модуль, который явно не включен.

Вместо этого сделайте пакет готовым к использованию в производство. Установите Babel или другой компилятор как инструмент разработки в проекте пакета. Перед публикацией пакета передайте его в файл, который может выполнить Node.js.

Другими словами, распространять исполняемые файлы (сам пакет), а не просто источник кода пакета.

...