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

Kri*_*ian 3 codemirror angularjs gruntjs bower gulp

我正在使用Yeoman Angular Fullstack构建一个角度的fullstack应用程序,其中包括bower.

在那个应用程序中,我正在使用一个名为Codemirror的组件,该组件有自己的bower包codemirror,并调用了另一个bower包angular-ui-codemirror.

在常规codemirrorbower包内部,在一个名为的目录中有其他模式文件mode,在普通的非bower托管应用程序中,我只需添加必要的脚本标签给我index.html,但在这里,我想做正确的如果可能的话,使用凉亭的方式.

我应该如何使用bower将该单独的子文件包含在codemirror模式中?

Bal*_*zar 12

由于angular-fullstack使用wiredep来注入您的bower依赖项,因此您可以覆盖codemirror bower包的main属性以包含您希望从其目录中获取的其他文件.mode

为此,您有两种选择:

  • 覆盖你的 Gruntfile
  • 直接覆盖你的 bower.json

我会向您推荐第二种解决方案,因为只需查看清单文件,您就可以看到将包含哪些文件,它更加冗长和易于理解.

这是a 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"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后运行使用该任务时wiredep一个样grunt serve,你会看到包含在你的其他文件index.html.