fangfis-cli — это набор инструментов для автоматизации процесса сборки кода, который хорошо сочетается с fang.js.
fangfis-cli — это инструмент для создания фронтенда на основе Node. Он был специально адаптирован под потребности разработки фронтенда и предлагает такие функции, как сжатие CSS, преобразование ES6 в ES5, объединение, сжатие и запутывание кода. Благодаря интеграции с FangFIS и fang.js, мы можем легко обрабатывать статические ресурсы фронтенда, сокращая лишние действия и повышая эффективность разработки и производительность кода.
Подробное руководство
fang.js основан на cmd и может быть использован вместе со всеми фреймворками, основанными на cmd (например, seajs). Для использования seajs можно обратиться к документации ниже, где также предоставлен CDN-ресурс seajs.
https://www.zhangxinxu.com/sp/seajs/
<script src="https://cdn.bootcss.com/seajs/2.3.0/sea.js"></script>
Разработка кодовой базы. Если у вас есть вопросы, пожалуйста, создайте issue https://gitee.com/tankunpeng/fangfis-cli/issues
Обратите внимание, что код для локальной разработки должен быть сначала собран с помощью fangfis-cli перед публикацией в производственной среде.
fangfis-cli основан на Node.js, поэтому перед началом установки убедитесь, что ваша система имеет установленную среду Node.js (Nodejs >= 4.x, npm > 3.x).
$ npm install -g fangfis-cli
Введите название проекта, по умолчанию оно пустое и находится в текущей папке.
$ fangfis init
Если папка не пуста, будет предложено продолжить, без удаления существующих файлов.
После завершения сборки необходимые модули зависимостей будут установлены автоматически. Если установка не удалась, перейдите в каталог и установите вручную, рекомендуется использовать cnpm для установки (см. ссылку: cnpm).
$ npm install
or
$ cnpm install
Структура после инициализации:
.
├── dev
│ ├── css
│ ├── images
│ └── js
├── fangfis.config.json
├── package-lock.json
├── package.json
└── static
5 directories, 3 files
Примечание:
dev — папка для инструментов сборки, все проекты разработки должны находиться в этой папке, названия папок css, js и images не могут быть изменены.
init автоматически генерирует файл конфигурации по умолчанию fangfis.config.json, пользователи могут настраивать параметры конфигурации для управления сборкой, структура конфигурации следующая:
{
// Конфигурационные параметры сборки
"build": {
// Пользовательский входной каталог, относительный путь, по умолчанию — dev (примечание: пользовательский путь должен содержать папки js, images и css)
"input": "./dev",
// Пользовательский выходной каталог, по умолчанию — static
"output": "./static",
// Базовый путь модуля, инструмент сборки автоматически ищет модуль на основе этого базового пути
"base": "./dev/js",
// Входной файл поддерживает различные форматы
/* *main
main,main2
main,main2,ery*
module/js/main
module/js/main,module/js/main2
module/js/main,module/js/main2,module/js/ery*
main*
*main
main_*tool
*/
"main": "main",
// Параметры конфигурации комбинирования модулей
"combo": {
// Игнорируемые модули, по умолчанию jquery
"ignore": [
"jquery"
],
// Модули, требующие дополнительной обработки, формат такой же, как main
"addMod": ["main2"],
// Конфигурация fangjs
"config": {
"alias": {
"jquery": "jquery",
"util": "plugins/util"
},
"paths": {
"webim": "//js.soufunimg.com/upload/webim"
}
}
}
},
// Конфигурация загрузки ftp
"upload": {
// Конфигурация по умолчанию
"default": {
// host
"host": "localhost",
// имя пользователя
"user": "anonymous",
// пароль
"pass": "anonymous@",
// Каталог для локального ожидания загрузки
"input": "./static",
// Путь ftp относительно корня ftp
"output": "./static",
// порт
"port": 21,
// Время ожидания соединения в минутах
"idleTimeout": 100,
// Максимальное количество подключений
"maxConnections": 5
},
// То же, что и default
"online": {
"host": "localhost",
"user": "anonymous",
"pass": "anonymous@",
"input": "./static",
"output": "./static",
"port": 21,
"idleTimeout": 100,
"maxConnections": 5
}
}
}
Используйте fangfis для сборки.
Параметры сборки следующие:
-w, --watch Автоматически отслеживать изменения файлов и выполнять сборку
-j, --js Сжать файлы js в целевой каталог, автоматически объединить все зависимости в целевом каталоге, по умолчанию: static/js
-c, --css Сжать все файлы css в целевой каталог, входной каталог — `dev/css`, не настраивается, выходной каталог настраивается, по умолчанию: static/css
-i, --img Скопируйте все файлы img в целевой каталог, входной каталог — `dev/images`, не настраиваемый, выходной каталог настраиваемый, по умолчанию: static/imgages
-o, --output [value] Пользовательский входной каталог, настраиваемый до первого уровня, по умолчанию: ./static
-m, --main [value] **Пользовательский входной файл**
Можно передать только регулярное выражение, по умолчанию: /^entry_.*\.js$/i.
-s, --sourcemap — создавать ли файл sourcemap, по умолчанию не создаётся.
-u, --upload — загружать ли после завершения сборки на ftp автоматически.
-h, --help — информация о помощи.
**Пример:**
```bash
$ fangfis b -o ./test1 -cjiw
or
$ fangfis build -o ./test1 -c -j -i -w
Рекомендуется использовать каталог вывода по умолчанию.
Загрузить на FTP с помощью fangfis.
-H, --host [value] — хост FTP, по умолчанию localhost. -u, --user [value] — пользователь FTP, по умолчанию anonymous. -p, --pass [value] — пароль FTP, по умолчанию анонимный пользователь @. -o, --output [value] — целевой путь FTP для загрузки, относительно корневого пути FTP, по умолчанию ./static. -i, --input [value] — путь к источнику FTP для загрузки, относительно локального пути, по умолчанию ./static. -t, --type [value] — тип соединения FTP, обычно делится на тестовое и официальное. По умолчанию default. -P, --port [value] — порт FTP, по умолчанию 21. -T, --idleTimeout [value] — время ожидания соединения FTP, по умолчанию 100. -m, --maxConnections [value] — максимальное количество подключений FTP. По умолчанию 5.
После обновления fangfis используйте в корне проекта для обновления соответствующих зависимостей.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )