Javascript 无法调用方法';用户界面';未定义的
使用带有JADE的节点作为视图引擎。我只是想在读了一本名为“使用Node和Express进行Web开发”的书之后,开始一些页面测试 我收到以下错误:Javascript 无法调用方法';用户界面';未定义的,javascript,node.js,pug,mocha.js,chai,Javascript,Node.js,Pug,Mocha.js,Chai,使用带有JADE的节点作为视图引擎。我只是想在读了一本名为“使用Node和Express进行Web开发”的书之后,开始一些页面测试 我收到以下错误: Cannot call method 'ui' of undefined 当我尝试调用mocha.ui时 58| script(type='text/javascript' src='/mocha/mocha.js') 59| scri
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
此外,还设置了节点_模块的可见性:
app.use(express.static(__dirname + '/node_modules'));
通过firebug进行检查,可以访问以下css:
link(rel='stylesheet', href='/mocha/mocha.css')
尝试将js文件移动到不同的文件夹,更改脚本调用,谷歌搜索
非常感谢。您似乎希望通过使用脚本标记将
mocha
作为变量提供给jade。您似乎混淆了前端和后端的变量。您使用的mocha变量是node提供的后端变量。它与脚本标记中的mocha.js完全没有关系
对于以-
或=
开头的行,jade会计算这些行并在服务器端用它们的值替换它们。在浏览器中计算脚本标记。它所做的只是转换一些类似的东西
script(src="hello.js)
到
从路由文件中的render语句将mocha作为变量传递。@AkashAgrawal:谢谢,解析mocha实例很有效。但是也可以通过脚本调用初始化它吗?不。您混淆了前端脚本调用。我会写一个完整的答案。如果“在解决方案后添加(在客户端处理mocha测试)”部分是为了在解决问题后显示代码,那么这属于答案,而不是问题本身。(这是标准的Stack Overflow编辑实践。)因此,请将其移动到一个答案,或者如果我对该部分的含义有误解,请解释该部分在那里做什么。非常感谢。
<script src="hello.js">
-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();
-}