有没有办法自动化从Assetic到gulp的迁移?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法自动化从Assetic到gulp的迁移?相关的知识,希望对你有一定的参考价值。
我正在使用Symfony2开发一个项目,而恰好使用Assetic来管理css和js。
我习惯于吞噬/授予任务,但不习惯使用Symfony,我试图找到一种系统的(或自动的)方法来提取我在模板中使用的资产文件,将它们分组并用适当的替代方法替换树枝中的资产块。
我相信像这样的工具将成为一个救生员,并帮助将旧项目从Assetic迁移到现代任务运行器,因为它太有限了。
关于从哪里开始的任何建议?
答案
我从Assetic迁移到了gulp,但这不是一个自动化的过程。
就我而言,我不得不使用7-1模式更改所有前端架构。我还在Symfony项目的根目录中创建了一个gulpfile。您可以在Resources
文件夹中的某个包中创建它。
假设您不想更改文件位置,我建议您按照以下步骤操作:
- 创建一个
package.json
running 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 在不同的环境中跳过或包含 JavaScript 段?