首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使'var express = require("express")‘工作

无法使'var express = require("express")‘工作
EN

Stack Overflow用户
提问于 2021-08-08 09:46:23
回答 1查看 158关注 0票数 0

我对js很陌生,我正在尝试开发一个简单的node.js-mysql应用程序。无论我做什么,我都无法达到标准

代码语言:javascript
复制
var express = require("express");

声明生效。

我已经正确安装了node.js和express,快递在package.json中。我有一个本地服务器在运行。但这条简单的路线行不通。

在Windows命令行的node.js端,我没有错误,但是当我在浏览器上转到localhost:3000时,我得到

'Uncaught :尚未在js控制台上加载_的模块名"express“。

我试着把它改成

代码语言:javascript
复制
require(['express']`, function (express) {}

正如在node.js网站上建议的那样,但是在Windows命令终端上,我得到了一个不同的错误,例如

‘期待一个字符串,但收到一个数组.’。

我尝试了导入,而不是要求,我已经尝试了我可以在互联网上找到的每一个建议。几个星期来,我一直在绞尽脑汁,想让这件事发挥作用,但没有成功。我非常沮丧,所以我正认真考虑放弃所有的一切。如果有人能帮忙,我将永远对他/她很好。

我的主要js代码如下:

代码语言:javascript
复制
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"); 
});

EN

回答 1

Stack Overflow用户

发布于 2021-08-08 10:02:24

Require.JS是用于加载AMD模块(老实说,在今天的JS领域已经过时了)。

Node.js模块要么是ECMAScript模块(使用importexport),要么是CommonJS模块(使用requiremodule.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运行。

您不能将该代码的副本发送到浏览器并在那里运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68699572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档