如果目录已经可用于server.js文件中的节点应用程序,该文件位于主目录中,使用:
app.use("/scripts",express.static(__dirname + "/scripts"));
我尝试使用以下目录中的文件(/scripts/custom.js)中的require来使用:
var Testing123 = require('../app/models/article');
这是不可能的?那个问题有解决方案吗?
编辑:在我的一个视图(views / tree.ejs)中,我使用:
<script type="text/javascript" src="../scripts/custom.js"></script>
访问我的自定义脚本,该脚本位于我的脚本文件夹中,使用express.static
可用,Custom使用网络刮刀抓取文章并以圆圈形式呈现(以图像,标题和链接的形式)在views / tree.ejs上,我现在想要custom.js将它创建的每篇文章保存到mongodb数据库但是为了这样做,它需要访问像我的文章模式这样的问题,因此上面的问题。
答案 0 :(得分:0)
您不能因为Node.js脚本和浏览器脚本不在同一个上下文中运行。您的app.use
调用只会公开在HTTP服务器上静态提供资产的/ scripts路由。
您的scripts/custom.js
脚本似乎是一个浏览器端脚本(因为您在ejs
视图中加载了脚本标记),但是您想在其中使用require
这个将无法工作,因为这是一个Node.js函数。
查看LearnYouNode这是一个优秀的Node初学者教程,以便您了解模块在Node中的工作方式,并了解服务器端和客户端JS之间的分离。