javascript - Express,如何将变量从路由传递到客户端的JS文件

标签 javascript node.js express

我有一个 Express 项目,它在生成图形的单独文件中包含客户端 JavaScript。我正在尝试将变量从快速路由传递到此 javascript 文件,以便可以绘制图表。 我已尝试下面的代码,但出现以下错误。

Error: Cannot find module 'js'

app.get('/users', function(req, res) {
  res.render(path.join(__dirname, '../views/js/users_chart.js'), {
    'users': users
  });
});

最佳答案

我认为查看 res.render 的 Express 文档会对您有所帮助。和 serving static files

您无法渲染 JS 文件。

看来您想使用

提供静态 user_chart.js 服务
/* server.js */
app.set('view engine', 'ejs');
app.register('.html', require('ejs'));
// serve your js statically
app.use('/js', path.join(__dirname, '../views/js/users_chart.js')
app.get('/users', function(req, res) {
    // pass variable to html page
    res.render('users.html', {
        'users': users
    });
});

// in users.html
<script type="text/javascript" src="/js/users_chart.js">

This post可能也有帮助

关于javascript - Express,如何将变量从路由传递到客户端的JS文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39001598/

相关文章:

javascript - 在 JavaScript 中深入研究一组嵌套对象

javascript - 使用对象变量屏蔽参数时,转译代码会抛出错误

javascript - 使用插件压缩 webpack 包

javascript - 使用 Meteor 框架从表单输入中提取数据

javascript - Ruby 相当于 Javascript 的 'console.log(a,b)'

sql - CoffeeScript,寻找类似 SQL 的模块

javascript - 如何插入express js | Node js 值存入数据库

javascript - 有谁知道为什么 res.download 每次都给我的下载文件一个随机名称?

javascript - 在express js 4中分离路由器文件时出错

node.js - 是否可以使用express.js 服务器在 VS-Code 调试器内进行热重载