这可能听起来很愚蠢,但请耐心等待。我遇到了麻烦。
我正在开发一个使用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
存储库并执行它,但我希望构建我的库的体验是自包含的,所有这些都是在某种程度上。这可能吗?或者我只是愚蠢?
答案 0 :(得分:3)
我会发展一点@Benjamin所说的。
您确实可以使用grunt-exec plugin或grunt-shell one直接从Gruntfile
运行命令。
使用 grunt-shell
可以满足您的需求shell: {
launchPrism: {
command: 'gulp',
execOptions: {
cwd: 'bower_components/prism'
}
}
}
您仍然需要在 prism 目录中运行npm install
,但您也可以将其添加到已执行的命令或项目安装中