早午餐`require`未定义

时间:2014-02-17 02:42:33

标签: coffeescript frontend brunch chaplinjs

我有一个应用程序,使用早午餐,chaplin和coffeescript作为前端。早午餐构建应用程序没有任何错误。但是,当我执行brunch watch --server并导航到http://localhost:3333时,会生成错误并且页面永远不会加载。

以前工作得很好。 diff显示存储库中没有可以解释行为更改的更改。我也知道开发时检查了以前版本的前端代码。服务器正在工作,但他们都给出了同样的错误。我尝试删除构建的代码并完全重建,但这也没有帮助。

我认为它必须是我在未跟踪文件中所做的事情,但对于我的生活,我找不到它。以下是chrome错误消息的输出:

Resource interpreted as Stylesheet but transferred with MIME type text/html:       "http://localhost:3333/pub/css/app.css". localhost/:10
Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:3333/pub/js/vendor.js". localhost/:11
Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:3333/pub/js/app.js". localhost/:20
Uncaught SyntaxError: Unexpected token < vendor.js:1
Uncaught SyntaxError: Unexpected token < app.js:1
Uncaught ReferenceError: require is not defined (index):21
(anonymous function) (index):21

index中的违规行似乎是

<script>require('initialize');</script>

此行与其他类似配置完美的项目相同。我认为它可能是愚蠢的东西,但它只是含糊不清,网络搜索没有多大帮助。希望其他人遇到这个。

我该怎么做才能诊断问题或解决问题?

1 个答案:

答案 0 :(得分:2)

您必须确认,但我相信您在JavaScript和样式表上遇到404错误,因此他们返回描述404错误的HTML页面。这就是为什么这行JavaScript错误的原因 - 它取决于app.js中没有加载的代码。

确保路径正确,即将浏览器指向http://localhost:3333/pub/css/app.css并确认您从Web服务器获取CSS文件而不是404。如果你得到404,那意味着你必须更新CSS的href和JS的src,或者确保Brunch将文件放在它们应该的位置。