Но это то, что я хочу сделать.
{
"name": "tcp-web",
"version": "1.0.0",
"description": "The Curiosity Project",
"main": "index.html",
"scripts": {
"bundle": "browserfy "
},
"author": "@Grandmother#5057",
"license": "ISC"
}
Полная строка, которую мне нужно ввести в мою консоль, содержит массу скриптов и файлов css, которые необходимо объединить в 1 файл. Записывать это каждый раз - хлопотно, и если я напишу это статично в файле .JSON, мне всегда придется его редактировать.
Я хотел бы знать, можно ли ввести строку командной строки непосредственно в строку скрипты: {} в JSON.
Таким образом, мой файл JSON уже будет содержать все файлы, которые я добавил статически, затем я хотел бы ввести новые файлы в командную строку, чтобы они сочетались с уже написанной строкой сценария.
Интересно, возможно ли это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы могли бы сделать что-то вроде...
"scripts": {
"main": "browserify index.js ${ADDITIONAL_FILES} -o assets/bundle/index.js"
}
Затем вызовите NPM следующим образом:
ADDITIONAL_FILES = "index2.js index3.js" npm run main
В этом фрагменте package.json скрипт main интерполирует переменную оболочки с именем ADDITIONAL_FILES. Если ADDITIONAL_FILES пусто, это будет пустая строка, которая ни на что не повлияет. Если ADDITIONAL_FILES имеет какое-то значение, оно будет заменено. В вызове NPM мы можем установить ADDITIONAL_FILES так же, как мы вызываем npm, добавляя ваши дополнительные файлы в вещи. Установка переменной, как указано выше, не будет сохраняться. Он будет жить только во время действия этой команды, поэтому вам не нужно беспокоиться о том, что ADDITIONAL_FILES будет установлен в последующих запусках.
Я немного подозреваю, зачем вам это нужно. Это говорит о том, что у вас есть несколько точек входа в ваше приложение, что необычно. Однако вы знаете о своем проекте больше, чем кто-либо другой :)
Надеюсь это поможет!
Это похоже на файл package.json. Все, что находится в scripts, будет выполняться в командной строке, поэтому здесь у вас есть большая гибкость.
Вы могли бы сделать что-то вроде...
"scripts": {
"command": "MY_DATA=$(cat some_file) script_that_uses_MY_DATA_environment_variable.sh"
}
Если вы хотите получить имена файлов, вы можете написать небольшой скрипт Node для их сбора и вывода или даже использовать ls и awk, если вам удобнее работать с Bash. Это гибко. Есть несколько решений.
Если вам нужна более конкретная помощь, дайте мне знать с комментарием :)
Обновлено: в качестве альтернативы, если вы хотите описать контекст этой цели, мы можем помочь вам найти еще лучшее решение.
Кроме того, browserify будет объединять модули рекурсивно. Пока на файл Javascript прямо или косвенно ссылается первый файл, он будет включен в пакет. В идеале у вас не должно быть потерянных, несвязанных файлов, поэтому это должно охватывать большинство случаев использования.
Наконец, у вас опечатка в package.json. Это browserify, а не browserfy.
Ах, как жаль, что браузер берет файлы перед опциями. В npm есть способ добавить аргументы к команде run, но здесь это вам не поможет, потому что browserify ожидает в конце опции, а не файлы. Возможно, файлы и параметры взаимозаменяемы, но я не могу играть с этим прямо сейчас. Хм... Ваш pastebin странно пахнет... Я чувствую, что действительно должен быть способ не нуждаться в этом, но я недостаточно знаю, почему вы хотите это сделать. Тем не менее, я думаю, что у меня есть решение. Я отредактирую выше для него.
правда это очень плохо. Я не нашел решения по этому вопросу, поэтому я просто введу файлы вручную. Большинство моих проблем решается с помощью модуля npm, поэтому я могу запускать несколько строк одновременно [npm одновременно]. Но спасибо за ваше время и помощь, приятель
Отличная реализация с конфигурацией запуска/отладки сервера Angular CLI в IntelliJ для моего приложения Angular/Spring-boot. Очень хорошо сработало для динамического использования различных конфигураций среды для каждого пользователя без необходимости изменять package.json, когда они хотят загрузить свои особенности и, возможно, внести изменения в репозиторий. Также разработчикам не нужно полностью игнорировать нажатие/вытягивание package.json.
Что я хотел бы сделать, так это иметь свои сценарии по умолчанию в package.json. И затем, когда я запускаю определенный скрипт через командную строку, я хочу иметь возможность ввести дополнительный аргумент, который будет введен в строку скрипта до его выполнения. Я должен упростить это, сделал pastebin, где я получил эту демонстрацию с результатом, который я хотел бы получить. ПАСТЭБИН И спасибо, я действительно заметил опечатку!! Большое спасибо за помощь дружище. Ты уже научил меня кое-чему, и мне это нравится. Пища для мозга ;)