我在一个名为public
的文件夹中有一个JS文件,其中也有我的CSS文件。我正在尝试从JS文件(scripts.js
)中访问函数,但是没有运气。我已经关注了this个帖子(以及其他帖子),但仍然遇到Error: Cannot find module './scripts.js'
错误。如果有人可以帮助我,那就太好了。
app.js
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var request = require("request");
var scripts = require("/scripts.js");
app.use(bodyParser.urlencoded({extended: true}));
app.set("view engine", "ejs");
app.use(express.static(__dirname + '/public'));
const apiUrl = "https://api.darksky.net/forecast/";
const apiKey = "XXX";
app.get('/', function(req, res){
res.render("index");
});
app.post('/results', function(req, res){
var lat = req.body.latitude;
var long = req.body.longitude;
request(apiUrl + apiKey + "/" + long + "," + lat, function(error, response, body){
if (!error && response.statusCode == 200) {
var data = JSON.parse(body);
var temperature = scripts.converter(data.currently.temperature)
res.render("results", {data: data, temperature: temperature})
} else {
console.log(response.body);
}
});
});
app.get('/results', function(req, res){
res.render("results");
});
app.listen(3000, function(){
console.log("Server has started");
})
scripts.js
module.converter = function(cel) {
var cel = (far - 32) * (5/9);
return cel;
}
exports.data = module;
答案 0 :(得分:0)
模块的路径错误。
尝试使用var scripts = require("./public/scripts.js");
。
您正在加载/scripts.js
,这是位于计算机 root 上的scripts.js
文件。要将文件加载到当前目录中,请执行./scripts.js
。在当前目录之上的目录中,它将是../scripts.js
。
如果文件位于当前目录下的目录中(例如您的情况),则为“ ./directoryname/scripts.js”。 directoryname
在您的情况下是public