Symfony 有没有一种方法可以自动从Asset迁移到gulp?
我正在和Symfony2一起做一个项目,它正好使用Assetic来管理css和js 我习惯于吞咽/授予任务,但Symfony没有,我试图找到一种系统(或自动)方法来提取我在模板中使用的资产文件,对它们进行分组,并用适当的替代方案替换twig中的资产块 我相信这样的工具将是一个救命稻草,有助于将旧项目从Assetic迁移到现代任务运行程序,因为它太有限了Symfony 有没有一种方法可以自动从Asset迁移到gulp?,symfony,gruntjs,gulp,twig,assetic,Symfony,Gruntjs,Gulp,Twig,Assetic,我正在和Symfony2一起做一个项目,它正好使用Assetic来管理css和js 我习惯于吞咽/授予任务,但Symfony没有,我试图找到一种系统(或自动)方法来提取我在模板中使用的资产文件,对它们进行分组,并用适当的替代方案替换twig中的资产块 我相信这样的工具将是一个救命稻草,有助于将旧项目从Assetic迁移到现代任务运行程序,因为它太有限了 关于从哪里开始有什么建议吗?我从Assetic迁移到gulp,但这不是一个自动化的过程 在我的例子中,我必须使用7--1模式更改所有前端架构。我
关于从哪里开始有什么建议吗?我从Assetic迁移到gulp,但这不是一个自动化的过程 在我的例子中,我必须使用7--1模式更改所有前端架构。我还在Symfony项目的根目录中创建了一个gulpfile。您可以在
Resources
文件夹中的某个捆绑包中创建它
假设您不想更改文件位置,我建议您按照以下步骤操作:
- 创建一个
运行npm initpackage.json
- 安装gulp、browserify和所有您需要的软件包
- 将所有css/scss文件移动到
文件夹。把你的资产放在那里是最好的做法。例如,您可以为样式创建app/Resources
文件夹,为脚本创建app/Resources/styles
app/Resources/scripts
- 在根目录或某个捆绑包的Resources文件夹中创建一个gulpfile.js
- 将编译scss和js文件的任务添加到一个任务中
gulp.task('sass', function() { return gulp.src('app/Resources/styles/main.scss') .pipe($.sass()) .pipe(gulp.dest('web/css/')) }); gulp.task('browserify', function() { return browserify('app/Resources/scripts/main.js') .transform("babelify", {presets: ["es2015"]}) .bundle() .pipe(source('main.js')) .pipe(gulp.dest('web/js')) });
browserify
任务会编译所有用ES6编写的javascript模块,并使用browserity
最后,您可以添加观看任务,但这与问题无关。谢谢您的回答@Mario。即使在一个有多个名称空间和捆绑包的项目中,将资产放在应用程序/资源中仍然是一种最佳做法吗?我承认我不是后端开发人员,但我的队友告诉我这种最佳做法。您也可以将模板放在此文件夹中。我试图解决的主要问题是,如何提取模板中使用的流动资产路径,并重新包含任务运行者完成的正确路径。这也可能是一个吞咽任务。但我不知道如何开始,我只是讲述了我从粗俗到狼吞虎咽的经历。使用gulp无法自动获得此迁移。