2014-02-17 82 views
1

我有一個應用程序,它使用brunch,chaplin和coffeescript作爲前端。 Brunch構建應用程序時沒有任何錯誤。但是,當我執行brunch watch --server並導航到http://localhost:3333時,會生成錯誤,並且該頁面不會加載。Brunch`require` not defined

這以前工作得很好。 diff在存儲庫中顯示沒有更改會考慮行爲更改。當我知道開發者時,我也檢查了前端版本的前端代碼。服務器正在工作,但他們都給出了相同的錯誤。我嘗試刪除構建的代碼並完全重建,但這也沒有幫助。

我想這一定是我在未跟蹤的文件中做的事情,但對於我的生活,我無法找到它。這裏是鉻錯誤消息的輸出:

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> 

這條線是從該工作完全其它類似配置的項目不變。我認爲這可能是愚蠢的,但它只是足夠模糊,網絡搜索沒有什麼幫助。希望有人遇到過這個問題。

我該怎麼做診斷問題或解決這個問題?

回答

2

您必須確認,但我相信您在JavaScript和Stylesheets上收到了404錯誤,因此他們正在返回描述404錯誤的HTML頁面。這就是爲什麼這行JavaScript錯誤 - 它取決於app.js中的代碼,該代碼未被加載。

確保路徑正確,即將瀏覽器指向http://localhost:3333/pub/css/app.css,並確認從Web服務器獲取CSS文件而不是404。如果你得到一個404,那就意味着你必須爲CSS更新href,爲JS更新src,或者確保Brunch將文件放置在它們應該在的位置。

+0

謝謝你的回答,但不幸的是他們沒有給404s。但由於某種原因,服務器正在解析將app.css和app.js視爲html。實際上,這兩個文檔都會在app/assets/index.html處返回文檔。顯然,我無意中改變了一些配置,我會繼續尋找。爲了使事情更加清晰,代碼在與完整應用程序一起運行時工作。 – crlane

+0

您的骨幹路由器上是否定義了通配符路由?它可能會抓住這些要求並將它們推到索引。 – Michal