Particle.js + Node + Express - 无法加载资源
Particle.js + Node + Express - Can't get resource to load
伙计们。又是愚蠢的提问时间。
我正在考虑使用 particles.js 作为我学习使用节点和表达的背景。在 github 上可用的文档中,它说使用:
npm install particles.js
完成此操作后,我添加了这个以在我的 app.js:
中调用它
var particleJS = require("particle.js")
然而,此时,当我尝试 运行 我的应用程序时,节点错误状态:
ReferenceError: window 未定义
还有另一个代码块应该被调用来创建它,它应该是 运行 在前端,使用 jade 文件。
/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */
particlesJS.load('particles-js', 'assets/particles.json', function() {
console.log('callback - particles.js config loaded');
});
有些事情我不太确定。
首先,从我对 node 的兴趣来看,npm install 模块应该可以在 app.js 中调用。所以我觉得它不起作用很奇怪。这是因为有问题的代码不是基于使用像 express 这样的框架吗?
其次,如果是这种情况并且我已经通过 npm 安装了 particles.js 模块,为了让 jade 拿起它,我必须将 js 复制到 "javascript" public 这样的目录还能找到吗?
如果是这样的话,我不需要首先通过 npm 安装它吗?
这么多问题...抱歉。我仍在学习,并对此有所了解 运行。可能我的逻辑哪里不对。
有人能帮忙吗?
所以你在正确的轨道上,当你 npm 安装一个前端库时,你将需要使用另一个库将它加载到视图中。我猜他们假设您正在使用这样的框架,或者将其放入前端框架的 app.js(反应等)中。我会下载该库并将其放入您的静态文件夹中,然后 运行 就这样。
我更改了脚本并引用了存档 particles.js 和 particles.js 我在
之外创建的文件夹
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Menu</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<style>
body{
background-color: lightgrey;
}
*{
padding : 0px;
margin : 0px;
font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif;
}
</style>
<!--<div id="particles-js"></div>-->
<div id="particles-js" style="position : absolute; width:100%; height:100%; z-index:-1; background-color: #000000"></div>
<div class="container">
<img src="../logo.jpg" width="600" class="img-fluid wall" style="display: block; margin: 0 auto">
</div>
<div class="container">
<Form action = "/game" method = "POST">
<button id="Iniciar_juego" type="submit" class="btn btn-primary btn-lg">Iniciar juego</button>
<Input name="textbox" id="usuario" class="form-control" aria-label="Nombre de usuario:" aria-describedby="inputGroup-sizing-default" type="text" value="${salida}"style="display: none">
</Form>
<Form action = "/tabla" method = "GET">
<button id="Ranking" type="submit" class="btn btn-primary btn-lg">Ver Ranking</button>
</Form>
<Form action = "/inst" method = "GET">
<button id="Instrucciones" type="submit" class="btn btn-primary btn-lg">Instrucciones</button>
</Form>
<Form action = "/" method = "GET">
<button id="Salir" type="submit" class="btn btn-primary btn-lg">Salir</button>
</Form>
</div>
<script src="https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js"></script>
<script>
particlesJS.load('particles-js','../particles.json',function(){
console.log('particles.json loaded...');
});
</script>
</body>
</html>
伙计们。又是愚蠢的提问时间。
我正在考虑使用 particles.js 作为我学习使用节点和表达的背景。在 github 上可用的文档中,它说使用:
npm install particles.js
完成此操作后,我添加了这个以在我的 app.js:
中调用它var particleJS = require("particle.js")
然而,此时,当我尝试 运行 我的应用程序时,节点错误状态:
ReferenceError: window 未定义
还有另一个代码块应该被调用来创建它,它应该是 运行 在前端,使用 jade 文件。
/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */
particlesJS.load('particles-js', 'assets/particles.json', function() {
console.log('callback - particles.js config loaded');
});
有些事情我不太确定。 首先,从我对 node 的兴趣来看,npm install 模块应该可以在 app.js 中调用。所以我觉得它不起作用很奇怪。这是因为有问题的代码不是基于使用像 express 这样的框架吗?
其次,如果是这种情况并且我已经通过 npm 安装了 particles.js 模块,为了让 jade 拿起它,我必须将 js 复制到 "javascript" public 这样的目录还能找到吗?
如果是这样的话,我不需要首先通过 npm 安装它吗?
这么多问题...抱歉。我仍在学习,并对此有所了解 运行。可能我的逻辑哪里不对。
有人能帮忙吗?
所以你在正确的轨道上,当你 npm 安装一个前端库时,你将需要使用另一个库将它加载到视图中。我猜他们假设您正在使用这样的框架,或者将其放入前端框架的 app.js(反应等)中。我会下载该库并将其放入您的静态文件夹中,然后 运行 就这样。
我更改了脚本并引用了存档 particles.js 和 particles.js 我在
之外创建的文件夹HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Menu</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<style>
body{
background-color: lightgrey;
}
*{
padding : 0px;
margin : 0px;
font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif;
}
</style>
<!--<div id="particles-js"></div>-->
<div id="particles-js" style="position : absolute; width:100%; height:100%; z-index:-1; background-color: #000000"></div>
<div class="container">
<img src="../logo.jpg" width="600" class="img-fluid wall" style="display: block; margin: 0 auto">
</div>
<div class="container">
<Form action = "/game" method = "POST">
<button id="Iniciar_juego" type="submit" class="btn btn-primary btn-lg">Iniciar juego</button>
<Input name="textbox" id="usuario" class="form-control" aria-label="Nombre de usuario:" aria-describedby="inputGroup-sizing-default" type="text" value="${salida}"style="display: none">
</Form>
<Form action = "/tabla" method = "GET">
<button id="Ranking" type="submit" class="btn btn-primary btn-lg">Ver Ranking</button>
</Form>
<Form action = "/inst" method = "GET">
<button id="Instrucciones" type="submit" class="btn btn-primary btn-lg">Instrucciones</button>
</Form>
<Form action = "/" method = "GET">
<button id="Salir" type="submit" class="btn btn-primary btn-lg">Salir</button>
</Form>
</div>
<script src="https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js"></script>
<script>
particlesJS.load('particles-js','../particles.json',function(){
console.log('particles.json loaded...');
});
</script>
</body>
</html>