如何在Gruntfile中访问Gruntfile的绝对路径?

时间:2013-09-19 20:54:53

标签: compass-sass gruntjs

我的Gruntfile.js包含指南针的任务:

grunt.initConfig({

  pkg: grunt.file.readJSON('package.json'),

  // FILE PATHS (custom)
  dir: {
    css:          'resources/styles/css',
    fonts:        'resources/fonts',
    html:         'resources/html',
    images:       'resources/images',
    includes:     'resources/includes',
    node_modules: 'node_modules',
    prototypes:   'resources/html/prototypes',
    resources:    'resources',
    scripts:      'resources/scripts',
    scss:         'resources/styles/scss',
    styles:       'resources/styles',
    styleguide:   'resources/styleguide',
    vendor:       'resources/vendor',
    user: {
       htdocs: '/Volumes/VR\ Mini\ Backup/Backups/Web/Active/myproject/htdocs'
    }
  },

  // COMPASS
  compass: {
    dist: {
      options: {
        ...
        importPath: [
          '<%= dir.user.htdocs %>/<%= dir.resources %>/vendor',
          '<%= dir.user.htdocs %>/<%= dir.resources %>/fonts'
        ]

其中一个指南针optionsimportPath。这需要绝对/系统路径。示例importPath/system/path/to/htdocs/resources/vendor

由于有几位开发人员正在处理我的项目,我想让/system/path/to/htdocs动态。

有没有办法从此文件中访问Gruntfile.js的路径?

感谢。

1 个答案:

答案 0 :(得分:23)

您可以利用Node's path module

在gruntfile的顶部,添加var path = require('path');

path.resolve()将为您提供绝对路径。