使用 Laravel Elixir 编译 Gulp 中的资产子目录
Compiling assets subdirectories in Gulp with Laravel Elixir
我正在开发最终会成为一个非常大的应用程序,这意味着我的 asssets/whatever 文件夹可能包含数百个文件(SCSS、js 等)。
显然这会使管理它们变得有些棘手,所以我想将它们安排到我应用程序的每个模块的子文件夹中。
例如我的应用程序的 SAP 部分将其样式和 js 存储如下:
resources/assets/js/SAP/myjs.js
resources/assets/sass/SAP/mysass.scss
在 laravel-elixars 配置中,您似乎只能指定一个 assetsDir
路径:
var config = {
production: !! util.env.production,
srcDir: 'app',
assetsDir: 'resources/assets/',
cssOutput: 'public/css/_raw',
jsOutput: 'public/js/_raw',
bowerDir: 'vendor/bower_components',
tasks: [],
watchers: { default: {} },
duplicate: [],
concatenate: { css: [], js: [] }
};
如果你至少能做到以下几点就好了:
...
assetsDir: ['resources/assets/SAP', 'resources/assets/Diary', ...],
...
或者更好的是,让它根据资产目录中的目录自动映射输出路径。
找到了我的问题的解决方案。
对于它的 css 部分,我可以在 master.scss 文件中使用 SASS 的 @import,它只是 @imports 所有 scss 文件用于各种我的项目的一部分。
我想对于 JS,我会用 requirejs(?) 做一些类似的事情。
我正在开发最终会成为一个非常大的应用程序,这意味着我的 asssets/whatever 文件夹可能包含数百个文件(SCSS、js 等)。
显然这会使管理它们变得有些棘手,所以我想将它们安排到我应用程序的每个模块的子文件夹中。
例如我的应用程序的 SAP 部分将其样式和 js 存储如下:
resources/assets/js/SAP/myjs.js resources/assets/sass/SAP/mysass.scss
在 laravel-elixars 配置中,您似乎只能指定一个 assetsDir
路径:
var config = {
production: !! util.env.production,
srcDir: 'app',
assetsDir: 'resources/assets/',
cssOutput: 'public/css/_raw',
jsOutput: 'public/js/_raw',
bowerDir: 'vendor/bower_components',
tasks: [],
watchers: { default: {} },
duplicate: [],
concatenate: { css: [], js: [] }
};
如果你至少能做到以下几点就好了:
...
assetsDir: ['resources/assets/SAP', 'resources/assets/Diary', ...],
...
或者更好的是,让它根据资产目录中的目录自动映射输出路径。
找到了我的问题的解决方案。
对于它的 css 部分,我可以在 master.scss 文件中使用 SASS 的 @import,它只是 @imports 所有 scss 文件用于各种我的项目的一部分。
我想对于 JS,我会用 requirejs(?) 做一些类似的事情。