Javascript 将脚本src传递到Pug模板中

Javascript 将脚本src传递到Pug模板中,javascript,express,pug,Javascript,Express,Pug,我正在尝试让我的帕格模板使用Express渲染脚本。我的文件结构如下: views public index.jade main.js index.js <!DOCTYPE html><html><head><title>SSR React</title></head><body><div id="root"></div><script s

我正在尝试让我的帕格模板使用Express渲染脚本。我的文件结构如下:

views
    public
        index.jade
        main.js

index.js
<!DOCTYPE html><html><head><title>SSR React</title></head><body><div id="root"></div><script src="/main.js"></script></body></html>
我尝试将脚本的名称作为参数传递给
res.render('public/index',{bundle:'/main.js'})
,但没有成功

my
index.js的内容

const-app=express();
应用程序集(“查看引擎”、“翡翠”);
app.use(express.static(path.join(uu dirname,'views/public'));
应用程序使用(“*”,(请求、恢复、下一步)=>{
res.render('public/index',{bundle:'/main.js'});
});
my
index.jade的内容

doctype html
html
    head
        title SSR React
    body
        div#root
        script(src='#{bundle}')
我在控制台里发现一个奇怪的错误。脚本的名称正在通过,但我得到了错误


未捕获的语法错误:在Jade模板中编写内联JavaScript时,需要在script标记后添加一个点。您还应该缩进代码

例如,包括外部js,如:

script(type='text/javascript', src='/socket.io/socket.io.js')
内联js类似:

script(type='text/javascript').

我不知道杰德,但你的快递系统很好。从呈现的HTML可以看出,Express正在将正确的值传递到模板中,即“/main.js”。由于您在devtools中的“sources”下看到了bundle文件,所以您也知道它正在被提供。您看到的错误几乎肯定是传输/捆绑的React代码的问题。请参阅ReactJS:意外令牌'