我正在使用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模块捆绑在一起并被调用的方式。
我尝试了很多可能的变体,但没有比这个错误消息更多。 请帮忙。
答案 0 :(得分:5)
AAARRGH。几乎每次我在工作和挣扎几天后在这里问一个问题,5分钟后我自己找到答案。
问题是:
我将早午餐配置为在/^vendor/
中查找供应商js文件,但它们位于 app / vendor 中。将文件夹复制到..并且一切正常。