主题目录中的应用程序基础

时间:2015-08-02 00:50:55

标签: javascript node.js zurb-foundation gulp silverstripe

我尝试使用Zurb Foundation for Apps创建SilverStripe主题,但我无法使用Foundation的模板加载来处理目录结构。

通常基金会的结构如下:

  • (root)/< - site root,包含gulpfile.js等
  • (root)/ client /< - 包含原始文件,scss等
  • (root)/ build /< - 客户端文件由gulp汇编到此处。

我想做的是:

  • (root)/ themes / devtheme /< - 包含原始文件,gulpfile,基本上所有的基础
  • (root)/ themes / livetheme /< - files汇编到这里

基本上:

a)Foundation位于子目录中,但仍然使用根URL(例如http://example.com/)进行访问,因为SilverStripe从其控制器加载模板。

b)编译的文件只是在Foundation的兄弟目录中,而不是孩子。

这主要是通过在gulpfile.js中指定输出目录来实现的,例如.pipe(gulp.dest('../'+outputTheme))

问题是通过AJAX加载页面模板。 Front-router编译路由列表及其模板文件的路径,但它使它们相对(templates / mypage.html)它尝试获取example.com/templates/mypage.html而不是example.com/themes/livetheme/templates/mypage.html

SO

a)有没有办法在客户端JavaScript中指定一个根或其他内容添加到foundationRoutes中的路径?

b)失败是否有办法让前端路由器写入routes.js的完整路径?我已尝试将root和dir的各种值传递给它但它得到了通过节点的path.relative(),它永远不会给我们预期的结果。

例如在gulpfile.js中有这个


    gulp.task('copy:templates', function() {
      return gulp.src('./templates/**/*.*')
        .pipe(router({
          path: '../livetheme/javascript/routes.js',
          root: '/templates/',
          dir: 'themes/livetheme'
        }))
        .pipe(gulp.dest('../livetheme/templates'))
      ;
    });

导致此routes.js文件:

var foundationRoutes = [{"name":"home","url":"/","path":"../../../templates/Layout/home.html"}]; 

当我真的希望路径为" themes / livetheme / templates / Layout / home.html"

对不起,这有点乱,我不确定哪些信息与问题有关。

0 个答案:

没有答案