Brunch.io - 需要冲突

时间:2014-07-08 13:18:44

标签: coffeescript brunch

我正在使用coffeescript和brunch.io在一个app.js文件中编译我的项目,这很棒!!!!

    主项目中的
  • 我有tools = require 'utils/tools'
  • 我的库中我还有一个utils目录(与主项目中的目录不同,带有工具文件。所以在库代码中:tools = require'utils/tools'

然后在浏览器中,我正在寻找主项目我的库

最大的问题是,早午餐仅导入第一个utils/tools而不是第二个(因为我看到所有内容都是全局的,而且我已经设置了utils / tools)。

我该如何解决这个问题?我已经有了两个想法,但我想我能找到更好的东西

  • 1解决方案:重命名文件夹(例如:utils2 /)
  • 2解决方案:重命名文件(例如:utils / tools2.coffee)

有什么好主意吗?是否可以为require定义域名或命名空间?

祝你好运

PS:来自brunch.io的require而不是nodeJS:P

1 个答案:

答案 0 :(得分:0)

es128回答:https://github.com/brunch/brunch/issues/854

<强>解

更改模块配置以将命名空间添加到组件。你可以编写一个自定义包装器,但最简洁的方法可能是

modules:
  nameCleaner: (path) ->
    "myComponentName/#{path.replace(/^app\//, '')}"

或更可重用的版本,它从package.json

中获取名称
{name} = require './package'

modules:
  nameCleaner: (path) ->
    path.replace /^app/, name```