Grunt:为非项目文件夹添加别名

时间:2016-01-12 13:06:16

标签: javascript html css gruntjs

我已经设置了一个基本项目来测试我们的设计人员为另一个应用程序创建的一些CSS。我的目标是提供一组静态html文件,在将文件上传到我们的内容管理系统之前,可以在本地设置CSS样式。

目前我有以下文件结构:

result.append(pool.apply_async(worker, [job]))

index.html文件引用Base/app/Gruntfile.js Base/app/brand1/index.html Base/app/brand2/index.html Base/StaticContent/brand1/css/file.css Base/StaticContent/brand2/css/file.css

中的静态CSS和JS文件

当我运行/static_files/brand1/StaticContent时,我想转到grunt serve,并在尝试从http://localhost:9000/brand1/index.html加载时从../StaticContent/brand1/css/file.css加载css文件。

我想知道如何别名或代理/static_files/brand1/StaticContent/css/file.css/static_files/brand1/StaticContent

我对前端开发相对缺乏经验,但我试图让设计人员的设计过程变得更加简单。我是默认的yeoman webapp应用程序,所以只提供默认的grunt插件。

当前的gruntfile.js是

../StaticContent/brand1

1 个答案:

答案 0 :(得分:1)

我认为你问的是,Grunt是否可以观看父文件。所有globbing patterns for Grunt遵循Node.js约定,因此您可以尝试使用它们。

但在本地,grunt正在观看子文件,而不是父文件。我想你不得不破解它,可能使用node's path utility然后手动解析该字符串以反馈到usemin任务中。我不知道果汁是否值得挤压 - 只需将CSS和HTML移动到同一目录(或至少是app的子目录),所有这些都变得非常容易。

其他一些可能有用的提示:

  • 您当前的grunt文件正在使用名为grunt-usemin的实用程序,该实用程序执行重写。您的监视任务位于文件顶部,用于在' / styles'中查找CSS文件。如果样式不存在,则无法正确加载。
  • 文件底部附近是grunt.registerTask('build',区域 - 只要您运行grunt serve,就会将其称为依赖项。它的外观设置得恰到好处。
  • 您的grunt文件已注释掉cssmin功能。没关系,但它要求你将CSS文件放在非常特定的地方(阅读代码中的注释)。如果您没有将CSS / SCSS放在正确的位置,请取消注释这些行。
  • 您还可以将grunt-rewrite添加到您的文件中,该文件会执行相似的操作,但如果您已经有grunt-usemin,则应该是不必要的。