javascript - grunt 和 gulp 混淆 - 在另一个有 gulp 的项目中运行 gulp

标签 javascript gruntjs bower gulp

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

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

现在,prism 是一个很棒的库,我非常喜欢它。但是,我正在使用 bower 将它安装到我的应用程序中 - 这很简单,bower install prism --save-dev

现在我遇到的问题是 prism 下载为自己的源代码 - 它恰好没有我需要的编译源代码,而是一个 gulpfile.js创建编译源。我通常对此很满意,我确实爱我一些 gulp 的善良 - 但在这种情况下我有点不知所措,因为我从未遇到过使用 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 from /gruntfile.js,这样它就会生成编译结果,然后我的 gruntfile.js 可以使用它来发送到我的 /dist 文件夹。

我确实知道我可以单独克隆 prism 存储库并执行此操作,但我希望构建我的库的体验是自包含的,所有这些都在一件事中。这可能吗?还是我太笨了?

最佳答案

我会开发一些东西@Benjamin说。

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

满足您需求的任务可能是这样的,使用 grunt-shell

shell: {
  launchPrism: {
    command: 'gulp',
    execOptions: {
      cwd: 'bower_components/prism'
    }
  }
}

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

关于javascript - grunt 和 gulp 混淆 - 在另一个有 gulp 的项目中运行 gulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25940454/

相关文章:

javascript - 编辑 HTML 表格行并更新到数据库

javascript - JQPlot 基本图表不显示

javascript - 如何定位一个复选框并根据其值显示输入字段

macos - 默认情况下使用命令打开 iTerm/Terminal。

javascript - 将 Bower 添加到 Gulp/Nodemon/Browsersync/Angular 配置中

three.js - 如何安装维护者配置 Bower 忽略的文件?

javascript - jQuery - .Ready 在不在页面中的 div 标签上触发

gruntjs - 带 bower 的 docker ,咕噜声

css - Grunt compass 和 sass/css 目录

zsh - 当我将 zsh 与 oh-my-zsh 一起使用时,为什么必须使用 Bower 别名