早午餐:无法从“/”找到模块“初始化”

时间:2015-03-12 10:07:14

标签: node.js backbone.js coffeescript brunch

我正在使用brunch / node.js进行绝望。 我有一个带有几个简单页面的项目,使用早午餐,backbone.js,jade和coffeescript。

app / assets / index.html包含以下脚本:

<script src="data/vendor.js" type="text/javascript"></script>
<script src="data/app.js" type="text/javascript"></script>
<script src="data/data.js" type="text/javascript"></script>
<script type="text/javascript">require('initialize');</script>

brunch-config.coffee:

exports.config =
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'data/app.js': /^app/
        'data/vendor.js': /^vendor/
      order:
        before: [
          'vendor/scripts/jquery-1.11.1.js',
          'vendor/scripts/underscore.js',
          'vendor/scripts/backbone-1.1.2-full.js',
        ]
  stylesheets:
    joinTo:
      'data/app.css': /^app\/styles/
  templates:
    defaultExtension: 'jade',
    joinTo:
      'data/app.js': /^app\/templates/

所有咖啡文件都已正确编译并合并到 vendor.js app.js 中,我可以找到(javascript'ed)初始化。在 app.js 中使用grep的coffee 代码。 应用程序/ initialize.coffee:

# The function called from index.html
$(document).ready ->
  app = require('application')
  app.initialize()
  return

我在spa书签教程之后对此进行了建模。但是当我启动早午餐服务器时,我的Js浏览器控制台总是告诉我:

TypeError: _ is undefined
Error: Cannot find module "./initialize" from "/"

TypeError现在不打扰我。但我无法找到为什么没有调用初始化模块

我必须承认我对Js和node.js都很陌生,并且还没有完全理解(更好:不知道)Js模块捆绑在一起并被调用的方式。

我尝试了很多可能的变体,但没有比这个错误消息更多。 请帮忙。

1 个答案:

答案 0 :(得分:5)

AAARRGH。几乎每次我在工作和挣扎几天后在这里问一个问题,5分钟后我自己找到答案。

问题是: 我将早午餐配置为在/^vendor/中查找供应商js文件,但它们位于 app / vendor 中。将文件夹复制到..并且一切正常。