Express 如何使用脚本。玉模板

Express 如何使用脚本。玉模板,express,pug,Express,Pug,我使用JADE模板创建了一个简单的节点应用程序,它使用express框架 在学习过程中一切都很顺利,直到我开始尝试运行一些客户端js,我不知道该怎么做 在我的app/index.js中是否需要做些什么来告诉node关于它们的信息?任何帮助都将不胜感激 谢谢 index.jade extends layout block content h1 Title script. console.log("I am running on the client"); doctype h

我使用JADE模板创建了一个简单的节点应用程序,它使用express框架

在学习过程中一切都很顺利,直到我开始尝试运行一些客户端js,我不知道该怎么做

在我的app/index.js中是否需要做些什么来告诉node关于它们的信息?任何帮助都将不胜感激

谢谢

index.jade

 extends layout

 block content

 h1 Title

 script.
   console.log("I am running on the client");
 doctype html
 html
   head
     title= title
     link(rel='stylesheet', href='/stylesheets/style.css')
     link(rel='stylesheet', href='/stylesheets/bootstrap.css')
     link(rel='stylesheet', href='/stylesheets/style.css')
     script(src='/javascripts/jquery-2.1.3.js') 
     script(src='/javascripts/bootstrap.js') 

   body
     div(class="navbar navbar-inverse navbar-fixed-top")
       .container
         .navbar-header
           button.navbar-toggle(type="button", data-toggle="collapse", data-target=".navbar-collapse")
             span.icon-bar
             span.icon-bar
             span.icon-bar
           a.navbar-brand(href="/") Twitter
         div(class="collapse navbar-collapse")
           ul(class="nav navbar-nav")
             li.active
               a(href="#") Home
             li
               a(href="#about") About
             li
               a(href="#contact") Contact
     block content     
app.js

var http=require(“http”)
var express=需要(“express”)
var path=require('path');
变量路由=要求('./路由/索引');
var app=express()
var port=process.env.port | 5000
//查看引擎设置
app.set('views',path.join('views');
应用程序集(“查看引擎”、“翡翠”);
app.use(express.static(path.join(uu dirname,'public'));
应用程序使用(“/”,路线);
var server=http.createServer(应用程序)
服务器。侦听(端口)
console.log(“在%d上侦听的http服务器”,端口)
module.exports=app;
布局。jade

 extends layout

 block content

 h1 Title

 script.
   console.log("I am running on the client");
 doctype html
 html
   head
     title= title
     link(rel='stylesheet', href='/stylesheets/style.css')
     link(rel='stylesheet', href='/stylesheets/bootstrap.css')
     link(rel='stylesheet', href='/stylesheets/style.css')
     script(src='/javascripts/jquery-2.1.3.js') 
     script(src='/javascripts/bootstrap.js') 

   body
     div(class="navbar navbar-inverse navbar-fixed-top")
       .container
         .navbar-header
           button.navbar-toggle(type="button", data-toggle="collapse", data-target=".navbar-collapse")
             span.icon-bar
             span.icon-bar
             span.icon-bar
           a.navbar-brand(href="/") Twitter
         div(class="collapse navbar-collapse")
           ul(class="nav navbar-nav")
             li.active
               a(href="#") Home
             li
               a(href="#about") About
             li
               a(href="#contact") Contact
     block content     

任何内联脚本都可以这样运行

script.
  if (usingJade)
   console.log('you are awesome')
 else
   console.log('use jade')

可以像这样加载任何外部JS文件:

script(src="/path/to/script.js")
此外,您可能需要确保您实际使用的是布局文件。Jade建议这样做:

extends ./layout.jade
其中您有文件的路径并附加了扩展名。尽管扩展可能是可选的,因为您在
app.js
中指定了jade引擎


让我知道这有帮助

您想从内联javascript还是从外部文件运行脚本?我可以使用脚本(src=“/path/to/script.js”)从外部文件运行js客户端,但无法通过缩进脚本使内联js正常工作。标记一级允许内联js工作。如果有人知道为什么会这样,我很想知道。我的布局正在加载,虽然我会在板上采取最佳做法,谢谢!我能够从外部文件运行js客户端,但是,当使用if(使用Jade)时,内联仍然不起作用。我不明白?!?真奇怪!当您检查收到的HTML时,是否可以看到脚本标记?控制台中是否有JS错误?html中没有包含脚本标记。节点控制台或浏览器中没有错误。我有脚本。标签缩进到与“块内容”相同的级别,将其移出一个选项卡修复了此问题…不确定为什么?啊,我很高兴我能提供帮助。我正要回复说它在我的环境中工作,所以它一定是别的东西!