我正在尝试使用滚动显示javascript。通过npm安装它,并在我的NodeJS代码中使用它(见下文)。另外,我还将它包括在我的HTML中。
现在,当我在超级终端中运行nodemon app.js时,我会得到以下错误:
C:\User\Admin\Desktop\My Projects\test\node_modules\scrollreveal\dist\scrollreveal.js:33容器: document.documentElement,^ ReferenceError: document未定义
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<h1>Hello</h1>
<script src="https://unpkg.com/scrollreveal@4.0.9/dist/scrollreveal.min.js"></script>
</body>
</html>app.js
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const ScrollReveal = require('scrollreveal');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('public'));
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.listen(3000, function () {
console.log('server start on port 3000');
});发布于 2021-04-01 08:40:13
我认为您误解了使用依赖项的方式。
首先,在浏览器中运行的NodeJS和JavaScript完全不同。
这里您面临的问题是,您所包含的包只在NodeJS文件中的浏览器环境中工作。由于NodeJS没有“文档”的概念,因此出现了错误。
要解决这个问题,只需将require语句从NodeJS中删除,只需在HTML文件中使用“滚动显示”即可。而且,由于在HTML中使用的是CDN链接,所以不需要通过npm安装依赖项。(您可以使用npm来管理您的依赖项,但这需要一个现代的前端设置,我建议您从以下内容开始:现代JavaScript对恐龙的解释
https://stackoverflow.com/questions/66900747
复制相似问题