[英]Cannot call method 'ui' of undefined
使用帶有JADE的節點作為視圖引擎。 我只是試着按照一本名為“使用Node和Express進行Web開發”的書進行一些頁面測試。
我得到以下錯誤:
Cannot call method 'ui' of undefined
當我試着打電話給mocha.ui
58| script(type='text/javascript' src='/mocha/mocha.js')
59| script(type='text/javascript' src='/chai/chai.js')
> 60| -mocha.ui('tdd');
61| -var assert = chai.assert;
62| script(type='text/javascript' src='/qa/global-tests.js')
63| -if(pageTestScript){
整個電話:
//Page Tests + Global Tests
-if(showTests){
div(id="mocha")
script(type='text/javascript' src='/mocha/mocha.js')
script(type='text/javascript' src='/chai/chai.js')
-mocha.ui('tdd');
-var assert = chai.assert;
script(type='text/javascript' src='/qa/global-tests.js')
-if(pageTestScript){
script(src= pageTestScript)
-}
-}
我的路徑結構是:
node_modules
->chai
->->chai.js
->mocha
->->mocha.js
此外,還設置了node_modules的可見性:
app.use(express.static(__dirname + '/node_modules'));
通過firebug進行檢查,可以訪問以下css:
link(rel='stylesheet', href='/mocha/mocha.css')
嘗試將js文件移動到不同的文件夾,更改了腳本調用,google搜索。
非常感謝你。
看起來您希望通過使用腳本標記將mocha
作為變量用於jade。 你似乎對前端和后端的變量感到困惑。 您使用的mocha變量是節點提供的后端變量。 它與腳本標記中的mocha.js完全沒有關系。
對於以-
或=
開頭的行,jade會對這些行進行求值,並將其替換為服務器端的值。 腳本標記在瀏覽器中進行評估。 它所做的就是轉換類似的東西
script(src="hello.js)
至
<script src="hello.js">
Jade不會運行腳本標記中提到的腳本。
在解決方案之后添加(在客戶端處理mocha測試):
-if(showTests){
div(id="mocha")
script(type='text/javascript' src='/mocha/mocha.js')
script(type='text/javascript' src='/chai/chai.js')
script(type='text/javascript').
mocha.ui('tdd');
var assert = chai.assert;
script(type='text/javascript' src='/qa/global-tests.js')
script(type='text/javascript').
console.log('Test console output');
-if(pageTestScript){
script(src= pageTestScript)
-}
script(type='text/javascript').
mocha.run();
-}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.