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].