咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜地说

时间:2014-09-19 18:41:38

标签: javascript gruntjs bower gulp

这可能听起来很愚蠢,但请耐心等待。我遇到了麻烦。

我正在开发一个使用Grunt编译和构建其分发的项目。但是,它使用了另一个名为prism的库,您可以在 http://prismjs.com 找到

现在,prism是一个很棒的图书馆,我确实喜欢它。但是我使用bower将其安装到我的应用程序 - 这很简单,bower install prism --save-dev

现在我遇到的问题是 prism 作为自己的源代码下载 - 这恰好没有我需要的编译源,而是创建编译源的gulpfile.js 。我通常对此感到非常高兴,我确实爱我一些吞噬的善良 - 但在这种情况下,我有点不知所措,因为我从来没有遇到过我使用grunt也使用的情况gulp

太长;没读了

文件夹结构就像这样结束;

/-root
 | - bower_components
 | - - bootstrap
 | - - jquery
 | - - jquery-colorbox
 | - - prism
 | - - - components
 | - - - plugins
 | - - - themes
 | - - - vendor
 | - - - .bower.json
 | - - - bower.json
 | - - - components.js
 | - - - gulpfile.js
 | - - - package.json
 | .gitignore
 | bower.json
 | Gruntfile.js
 | package.json
 | README.md

所以我需要做的是弄清楚如何从 /bower_components/prism/gulp.js运行/gruntfile.js ,这样就可以生成我的gruntfile.js可以编译的结果然后用来发送到我的/dist文件夹。

我知道我可以单独克隆prism存储库并执行它,但我希望构建我的库的体验是自包含的,所有这些都是在某种程度上。这可能吗?或者我只是愚蠢?

1 个答案:

答案 0 :(得分:3)

我会发展一点@Benjamin所说的。

您确实可以使用grunt-exec plugingrunt-shell one直接从Gruntfile运行命令。

使用 grunt-shell

可以满足您的需求
shell: {
  launchPrism: {
    command: 'gulp',
    execOptions: {
      cwd: 'bower_components/prism'
    }
  }
}

您仍然需要在 prism 目录中运行npm install,但您也可以将其添加到已执行的命令或项目安装中