Symfony 有没有一种方法可以自动从Asset迁移到gulp?

Symfony 有没有一种方法可以自动从Asset迁移到gulp?,symfony,gruntjs,gulp,twig,assetic,Symfony,Gruntjs,Gulp,Twig,Assetic,我正在和Symfony2一起做一个项目,它正好使用Assetic来管理css和js 我习惯于吞咽/授予任务,但Symfony没有,我试图找到一种系统(或自动)方法来提取我在模板中使用的资产文件,对它们进行分组,并用适当的替代方案替换twig中的资产块 我相信这样的工具将是一个救命稻草,有助于将旧项目从Assetic迁移到现代任务运行程序,因为它太有限了 关于从哪里开始有什么建议吗?我从Assetic迁移到gulp,但这不是一个自动化的过程 在我的例子中,我必须使用7--1模式更改所有前端架构。我

我正在和Symfony2一起做一个项目,它正好使用Assetic来管理css和js

我习惯于吞咽/授予任务,但Symfony没有,我试图找到一种系统(或自动)方法来提取我在模板中使用的资产文件,对它们进行分组,并用适当的替代方案替换twig中的资产块

我相信这样的工具将是一个救命稻草,有助于将旧项目从Assetic迁移到现代任务运行程序,因为它太有限了


关于从哪里开始有什么建议吗?

我从Assetic迁移到gulp,但这不是一个自动化的过程

在我的例子中,我必须使用7--1模式更改所有前端架构。我还在Symfony项目的根目录中创建了一个gulpfile。您可以在
Resources
文件夹中的某个捆绑包中创建它

假设您不想更改文件位置,我建议您按照以下步骤操作:

  • 创建一个
    package.json
    运行npm init
  • 安装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无法自动获得此迁移。