簡體   English   中英

無法調用未定義的方法'ui'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM