запустить скрипт из пакета npm - PullRequest
0 голосов
/ 07 января 2020

Скажем, у меня есть такая функция

index. js

sayHi = () => {
  console.log('hi');
}

sayHi();

, и я хочу, чтобы она сразу запускалась при загрузке страницы, поэтому я вызываю это с sayHi(); теперь, очевидно, это работает, когда у меня есть файл, импортированный в мой index.html

индекс. html

<! -- ... -->
<script src="./index.js"></script>

теперь я хочу создайте его как пакет, который могут использовать другие люди, поэтому я опубликовал его на npm, и теперь я могу установить его, используя

npm install say-hi

Как sayHi() работает со стороны пользователей?

Я не совсем уверен, как это сделать, но в основном, как только пользователь установит пакет, используя npm, я бы хотел, чтобы скрипт запускался автоматически. Возможно ли это?

Теперь я знаю, что могу экспортировать функцию sayHi, а пользователь может импортировать и вызывать ее, мне просто интересно, единственный ли это способ?

Ответы [ 2 ]

0 голосов
/ 07 января 2020

now my question is how does sayHi() run from the users side?? I'm not exactly sure how to put this but basically once the user has installed the package using npm, I would like the script to run automatically.. is this possible?

Если вы публикуете sh ваш код в виде пакета, как вы сказали, для пользователей, общее использование или практика вашего пакета - это import или require ваш пакет как require('say-hi'), в данный момент (require) из вашего кода ваш sayHi () может быть вызван немедленно, и вы можете увидеть «привет» в консоли.

Кстати, вам на самом деле не нужно экспортируйте что-нибудь, если не хотите.

0 голосов
/ 07 января 2020

Вы можете добавить сценарии обработчика жизненного цикла в пакет. json. установка или постинсталляция выглядят хорошими кандидатами для вашего сценария

{
"scripts" :
  { "install" : "scripts/install.js"
  , "postinstall" : "scripts/install.js"
  }
}

Подробнее на https://docs.npmjs.com/misc/scripts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...