1. Вот как вы устанавливаете Stencil CLI на Mac. Ресурс BigCommerce Dev Center близок к правильному, но у меня возникли некоторые проблемы с установкой NVM. Я думаю, что ресурс предлагает вам установить старую версию. На странице NVM Github есть новая версия, поэтому вместо этого я запустил новую версию.
2. Ниже приведены инструкции по установке. Обратите внимание, как я обозначаю «ИНСТРУКЦИЯ ДЛЯ БОЛЬШОЙ КОММЕРЦИИ» вместо «МОЙ МЕТОД». Во многих случаях они одинаковы, но для нечетной команды я использую другой метод. Если вы видите ярлык «(Не запускать)», используйте «МОЙ МЕТОД» вместо «ИНСТРУКЦИЯ ДЛЯ БОЛЬШОЙ КОММЕРЦИИ».
A. # Установите диспетчер версий узла (nvm)
ИНСТРУКЦИЯ BIGCOMMERCE: (не запускать)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
МОЙ МЕТОД: Другой / Вместо этого запустил это
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash
Обратите внимание, что NVM устанавливается с этой страницы NVM Github, и у них новая версия (0.36.0 против 0.31.0), поэтому я запускаю новую версию.
Затем я запускаю эту команду для проверки установки:
command -v nvm returns: nvm # nvm is the correct ouput
B. # Установите версию Node.js, поддерживаемую Stencil CLI.
ИНСТРУКЦИЯ BIGCOMMERCE: (не запускать)
nvm install 10.16
МОЙ МЕТОД: Другой / Вместо этого запустил это
nvm install 10.17.0 --------------------------------------------------- Note: in some cases, this error message may occur: nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local" Run `npm config delete prefix` or `nvm use --delete-prefix v10.17.0` to unset it. Make sure your username (blakecronyn) matches the one in your $HOME path. See the "macOS Troubleshooting" section in the docs for more information. Consequently, run this command: nvm use --delete-prefix v10.17.0 return: Now using node v10.17.0 (npm v6.11.3)
Обратите внимание, что приведенная выше команда BC говорит мне установить определенную версию NVM. Тем не менее, я хочу проверить страницу Stencil CLI Github, чтобы узнать, поддерживаются ли другие/более новые версии. Здесь утверждается:
Stencil требует среды выполнения Node.js, поддерживаются версии 10.x и 12.x (рекомендуется). У нас пока нет поддержки версий выше Node 12.
Таким образом, все значения между 10 и 12 подходят, поэтому мы могли использовать 10.16.
Однако, когда я загружаю темы Cornerstone или Hero и запускаю «npm version», он возвращает: «node: ‘10.17.0’». Поэтому я думаю, что буду использовать 10.17.0 (см. следующий шаг).
C. # Переключиться на версию Node.js, поддерживаемую Stencil CLI:
ИНСТРУКЦИЯ BIGCOMMERCE: (не запускать)
nvm use 10.16
МОЙ МЕТОД: Другой / Вместо этого запустил это
nvm use 10.17.0
Обратите внимание, что вместо этого я использую версию 10.17.0.
D. # Установить Stencil CLI
БОЛЬШАЯ КОММЕРЧЕСКАЯ ИНСТРУКЦИЯ:
npm install -g @bigcommerce/stencil-cli
МОЙ МЕТОД: То же самое
Обратите внимание, что при этом устанавливается Stencil CLI версии 2.1.1. Кажется, до этого момента все работало, хотя при установке CLI трафарета было много устаревших/предупреждающих сообщений.
3. Затем я начинаю вторую часть процесса установки, которую можно найти в Центре разработчиков BigCommerce для Stencil CLI.
A. # перейти в каталог темы
БОЛЬШАЯ КОММЕРЧЕСКАЯ ИНСТРУКЦИЯ:
cd ~/path/to/theme/dir
МОЙ МЕТОД: (Индивидуально для пользователя)
cd /Users/xxxxxx/Desktop/bigcommerce/Cornerstone-4.10.0
Обратите внимание, что этот путь зависит от пути к папке каждого пользователя.
B. # инициализируем новую конфигурацию .stencil для темы
БОЛЬШАЯ КОММЕРЧЕСКАЯ ИНСТРУКЦИЯ:
stencil init
What is the URL of your store's home page? [https://xxxxxxxxxxx.mybigcommerce.com]
What is your Stencil OAuth Access Token?
[ACCESS TOKEN]
What port would you like to run the server on?
3000
МОЙ МЕТОД: То же самое
Обратите внимание, что в трафарете возвращаемого значения init действительно говорится: «Теперь вы готовы к работе! Чтобы начать разработку, запустите $ stencil start». Но мы не можем запустить stencil start, пока не будет запущена установка npm.
C. # установить модули темы
БОЛЬШАЯ КОММЕРЧЕСКАЯ ИНСТРУКЦИЯ:
npm install
МОЙ МЕТОД: То же самое
Обратите внимание, что это, казалось, работало, хотя были сообщения об устаревании/предупреждениях. А также сообщение о том, что «обнаружено 269 уязвимостей (40 низких, 167 средних, 60 высоких, 2 критических)». Однако, исходя из предыдущего опыта, я все еще могу получить доступ к теме без ошибок, не устраняя эти уязвимости.
D. # Предварительный просмотр темы в режиме реального времени с поддержкой Browsersync
БОЛЬШАЯ КОММЕРЧЕСКАЯ ИНСТРУКЦИЯ:
stencil start
МОЙ МЕТОД: То же самое
Вывод:
Хотя этот процесс довольно прост, я столкнулся со многими проблемами из-за (а) версии Node, (б) версии трафарета, (в) версии Xcode с сообщением об ошибке Нет версии Xcode или CLT!, (d) и ошибки, связанные с node_modules, такие как Ошибка сборки модуля (из ./node_modules/babel-loader/lib/index.js). Было несколько полезных команд, которые я использовал (упомянутые выше), которые позволили мне понять совместимость версий и помочь с настройкой Stencil CLI, чтобы я мог делать то, что мы любим: разработка темы BigCommerce! Если у вас есть какие-либо вопросы, не стесняйтесь обращаться по адресу [email protected].