有没有办法自动化从Assetic到gulp的迁移?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法自动化从Assetic到gulp的迁移?相关的知识,希望对你有一定的参考价值。

我正在使用Symfony2开发一个项目,而恰好使用Assetic来管理css和js。

我习惯于吞噬/授予任务,但不习惯使用Symfony,我试图找到一种系统的(或自动的)方法来提取我在模板中使用的资产文件,将它们分组并用适当的替代方法替换树枝中的资产块。

我相信像这样的工具将成为一个救生员,并帮助将旧项目从Assetic迁移到现代任务运行器,因为它太有限了。

关于从哪里开始的任何建议?

答案

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

就我而言,我不得不使用7-1模式更改所有前端架构。我还在Symfony项目的根目录中创建了一个gulpfile。您可以在Resources文件夹中的某个包中创建它。

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

  • 创建一个package.jsonrunning npm init
  • 安装gulp,browserify和所有必需的软件包。
  • 将所有css / scss文件移动到app/Resources文件夹。将资产存放在那里是最佳做法。例如,您可以为您的样式创建app/Resources/styles文件夹,为脚本创建app/Resources/scripts
  • 在根目录或某些bundle的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模块。

最后,您可以添加观看任务,但这与问题无关。

以上是关于有没有办法自动化从Assetic到gulp的迁移?的主要内容,如果未能解决你的问题,请参考以下文章

前端团队 Gulp & Webpack 工作流 迁移记

有没有办法让 Gulp 在不同的环境中跳过或包含 JavaScript 段?

第965期前端团队 Gulp & Webpack 工作流 迁移记

npm安装gulp-sass失败处理办法

有没有办法将数据从核心数据迁移到在线数据库?

有没有办法删除添加到 sqitch 的迁移?