我对js很陌生,我正在尝试开发一个简单的node.js-mysql应用程序。无论我做什么,我都无法达到标准
var express = require("express");声明生效。
我已经正确安装了node.js和express,快递在package.json中。我有一个本地服务器在运行。但这条简单的路线行不通。
在Windows命令行的node.js端,我没有错误,但是当我在浏览器上转到localhost:3000时,我得到
'Uncaught :尚未在js控制台上加载_的模块名"express“。
我试着把它改成
require(['express']`, function (express) {}正如在node.js网站上建议的那样,但是在Windows命令终端上,我得到了一个不同的错误,例如
‘期待一个字符串,但收到一个数组.’。
我尝试了导入,而不是要求,我已经尝试了我可以在互联网上找到的每一个建议。几个星期来,我一直在绞尽脑汁,想让这件事发挥作用,但没有成功。我非常沮丧,所以我正认真考虑放弃所有的一切。如果有人能帮忙,我将永远对他/她很好。
我的主要js代码如下:
var port = 3000;
// Import or load node.js dependency modules.
var express = require("express");
var app = express();
var path = require("path");
var bodyParser = require("body-parser");
app.use(express.urlencoded({ extended: true })); // to support URL-encoded bodies.
app.listen(port, () => {
console.log(`server is running at http://127.0.0.1:8887`);
});
app.get('/', function(req, res){
res.sendFile("D:/Behran's files/Web projects/havuzlusite/index.html");
});
发布于 2021-08-08 10:02:24
Require.JS是用于加载AMD模块(老实说,在今天的JS领域已经过时了)。
Node.js模块要么是ECMAScript模块(使用import和export),要么是CommonJS模块(使用require和module.exports)。
尽管AMD和CommonJS模块都使用名为require的函数,但它们是,不兼容。
可以使用一些方法在浏览器CommonJS中运行ES模块和模块,但是不能替代运行时提供的API。
Express.js需要能够侦听传入的HTTP请求。浏览器没有提供任何机制来实现这一点。Node.js有。
如果您想运行Express.js,您必须使用Node.js而不是浏览器来运行它。
Express.js创建一个HTTP。浏览器可以向它发出请求(例如,如果您在地址栏中键入http://127.0.0.1:3000 )。
(您的代码说是server is running at http://127.0.0.1:8887,但是port常量被设置为3000)。
所有Express.js代码都必须通过Node.js运行。
您不能将该代码的副本发送到浏览器并在那里运行。
https://stackoverflow.com/questions/68699572
复制相似问题