Gulp + Browserify:从node_modules加载文件时不加载CoffeeScript

时间:2014-11-06 16:19:45

标签: coffeescript gulp browserify

在为我的Gulp项目设置文件夹结构后,我想知道如何在browserify中执行路径,并找到了这个页面:https://github.com/substack/browserify-handbook#organizing-modules。它建议将常用的应用程序部分放在node_modules的子文件夹中。这似乎是有效的,它正在获取文件,但它没有应用我的coffeeify转换,因此它会抛出错误,因为它试图将它们解释为JS。任何想法如何解决这一问题?这是我的browserify配置:

browserify: {
  // Enable source maps
  debug: true,
  // Additional file extentions to make optional
  extensions: ['.coffee', '.hbs'],
  // A separate bundle will be generated for each
  // bundle config in the list below
  bundleConfigs: [{
    entries: src + '/javascript/app.coffee',
    dest: dest,
    outputName: 'app.js'
  }, {
    entries: src + '/javascript/head.coffee',
    dest: dest,
    outputName: 'head.js'
  }]
}

这些是我package.json的相关位。

"browserify": {
  "transform": [
    "coffeeify",
    "hbsfy"
  ]
}

1 个答案:

答案 0 :(得分:1)

Transfrom不会应用于node_modules中的文件,除非它们被标记为全局:https://github.com/substack/node-browserify#btransformtr-opts。如果您选择将其设为全局,请注意,文档建议不要:

  

从大多数时间开始,谨慎而谨慎地使用全局变换   普通的变换就足够了。

您将无法在package.json中指定转码:

  

您也无法在package.json中配置全局转换   你可以用普通的变换。

这两个选项是以编程方式,通过{global: true}作为选项或在命令行中使用-g选项:

browserify -g coffeeify main.coffee > bundle.js