angularjs - 如何使用 bower 包含单独的 codemirror 模式文件?

标签 angularjs gruntjs gulp bower codemirror

我正在使用 Yeoman Angular Fullstack 构建一个有 Angular 的全栈应用程序,其中包括 bower 。

在那个应用程序中,我使用了一个名为 Codemirror 的组件,它有自己的名为 codemirror 的 bower 包。 ,以及另一个名为 angular-ui-codemirror 的 bower 包.

内部常规codemirror bower 包,在名为 mode 的目录中还有其他模式文件,并且在普通的非 Bower 托管应用程序中,我只需将必要的脚本标签添加到我的 index.html ,但是在这里,如果可能的话,我想以正确的方式使用 bower 。

我应该如何使用 bower 为 codemirror 模式包含那个单独的子文件?

最佳答案

由于 angular-fullstack 使用 wiredep要注入(inject)您的 bower 依赖项,您可以覆盖 main codemirror bower 包的属性以包含您想要从其mode 中获得的附加文件目录。

为此,您有两种选择:

  • 覆盖您的Gruntfile
  • 直接在您的 bower.json 中覆盖

  • 我会向您推荐第二种解决方案,因为只需查看 list 文件,您就可以看到将包含哪些文件,它更加详细和易于理解。

    这是一个带有 bower.json 的示例包括额外的 asterisk.js文件,但使用 Gruntfile 几乎相同选项。
    {
      "name": "testingPurposes",
      "dependencies": {
        "codemirror": "~4.7.0"
      },
      "overrides": {
        "codemirror": {
          "main": ["lib/codemirror.js", "lib/codemirror.css", "mode/asterisk/asterisk.js"]
        }
      }
    }
    

    然后在运行使用 wiredep 的任务时一,如grunt serve ,您将看到包含在您的index.html 中的附加文件。 .

    关于angularjs - 如何使用 bower 包含单独的 codemirror 模式文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492778/

    相关文章:

    javascript - 如何在 toastr 中显示确认对话框

    javascript - ngTagsInput 3.2.0 使用 PHP 插入数组

    javascript - Angular ng-click 不适用于 $compile

    javascript - 未聚焦时 Angular Material 输入不显示值

    gruntjs - 当我测试 grunt-contrib-imagemin 时出现 fatal error : This socket is closed ,

    gruntjs - 在 yeoman 生成的应用程序中为 API 调用提供 stub

    当使用 gulp 更改 css 文件时,Livereload 没有更新我的浏览器

    angularjs - 为什么 Yeoman AngularFire 生成器从一开始就无法工作?

    node.js - 将 Node.js 与 Gulp、Babel、Webpack 一起使用?

    node.js - gulp 中的 es.merge 用法 : Object #<Stream> has no method 'end'