jacerider/neo_build
Composer 安装命令:
composer require jacerider/neo_build
包简介
Build tools including Vite and Tailwind integration.
README 文档
README
- Introduction
- Requirements
- Installation
- Usage
- Build for DEV
- Build for PROD
- Build Groups
- Configuration
INTRODUCTION
Vite integration for Drupal asset libraries.
REQUIREMENTS
This module requires no modules outside of Drupal core.
It's designed to work with Vite 3 or newer and Tailwind and Typescript.
INSTALLATION
Install as you would normally install a contributed Drupal module. Visit https://www.drupal.org/node/1897420 for further information.
Add to .gitignore:
# Neo
/neo.json
/neo.tsconfig.json
This module was built to be used with DDEV for local development. Add the following to .ddev/config.yaml:
web_extra_exposed_ports:
- name: vite
container_port: 5173
http_port: 5172
https_port: 5173
USAGE
-
Enable the module.
-
Run
drush neo-installfrom site root. -
Run
npm installfrom site root. -
In the
<theme|module>.libraries.yml, for the library you would like to use assets build by Neo, add propertyneo: trueand when defining assets provide their paths to entry points used in neo instead of paths to build assets. For example:
library-name: + neo: true js: - dist/script.js: {} + src/script.ts: {} css: component: - dist/style.css: {} + src/css/style.css: {} dependencies: - core/drupalSettings
- The module will dynamically rewrite assets paths to dist and include their dependencies defined in manifest.json.
BUILD FOR DEV
To use hot module reload during development, run:
npm start
The server will run in non-HTTPS mode to avoid XSS issues. If the server is accessible on the localhost under default port (5173) the module will automatically start using it instead of dist assets from manifest.json as soon as you clear the cache (library definitions are cached by default).
BUILD FOR PROD
To compile js and css for all scopes (only 'contrib' group), run:
npm run deploy
BUILD SCOPES
In <theme/module>.libraries.yml there is also an option to set the build
scope. The scope impacts Tailwind so that aggregated classes are only built
for the build of this scope when calling @tailwind base; within a CSS or
SCSS file. For example:
library-name: neo: {scope: 'front'} js: src/script.ts: {} css: component: src/css/style.css: {} dependencies: - core/drupalSettings
A theme should define their supported scopes in their info.yml.
neo: { scope: front }
or
neo: { scope: - front - back }
If a scope is not defined, theme will act on all scopes.
COMPONENTS
You can register new Tailwind components by defining them in your theme/module info file. For example:
neo: scope: back components: .container: '@apply mt-6 first:mt-0 rounded-sm border': {} .card: backgroundColor: colors.white borderRadius: borderRadius.lg padding: spacing.6 boxShadow: boxShadow.xl
THEME
You can extend the Tailwind base configuration by defining the settings in your theme/module info file. For example:
theme: extend: colors: current: 'currentColor'
jacerider/neo_build 适用场景与选型建议
jacerider/neo_build 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.91k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 08 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 jacerider/neo_build 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jacerider/neo_build 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.91k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2024-08-26