有人知道如何在端口 3000 上使用 Nodejs 服务器而不是 Vite 自己的前端开发服务器。我尝试了如下所有命令组合,但没有成功
vite
vite preview
vite preview --port:5000
Run Code Online (Sandbox Code Playgroud)
谢谢
2022 年 2 月 8 日更新
我找到了一种方法。我们必须在 vite 构建命令中添加 --watch 标志,例如:vite build --watch 这样 Vite 将仅捆绑对前端的更改并将其存储在文件夹中/dist,但它会像 Nodejs 一样监视外部服务器。这样我们就可以同时开发前端和后端文件并立即看到结果。我们必须单独启动服务器文件并从那里提供index.html。如果我们在服务器端使用 Nodejs 和 Express,我们还必须指向默认目录,/dist因为 Vite 会将捆绑文件放在那里,例如app.use(express.static(__dirname + '/dist'));. 节点将自动提供index.html此文件夹中的其他捆绑文件。
我找不到将外部.js文件包含到Node ejs模板中的方法。我想将逻辑和数据放入外部.js文件中的对象中,将该文件包含到index.ejs模板中并从中提取数据。
我尝试通过插入标准方式尝试
<script src="sample.js"></script>,但它不起作用
然后,我尝试了ejs特定关键字<% include partials/sample.js %>,这仅适用于添加部分内容(ejs代码段)。
我将.js文件插入了在可执行server.js中定义的静态目录中,再次没有结果。
但是有趣的是,例如,将css文件包含到ejs模板中的经典方法效果很好,例如
<link href="/assets/styles.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
解决方法是将外部ejs文件包括在其中,我会将逻辑和数据放在<%%>标记内,但这显然是一个补丁程序,而不是可行的解决方案,因为ejs不是js文件。此外,它不起作用。
我在Internet上找不到任何解决方案。有什么提示吗?
谢谢
在 javascript 中我有下一个数组:
Run Code Online (Sandbox Code Playgroud)var a = [0, 2, 1, 3];
其中该数组索引>值对是:
0 = 0、1 = 2、2 = 1、3 = 3
在对数组进行排序后保留数组索引号的最简单和最优雅的方法是什么。sort() 之后索引>值对应该是这样的:
0 = 0、2 = 1、1 = 2、3 = 3
..但我应该能够显示这些排序值。问题是数组不能通过跳转索引位置 0, 2, 1, 3 来列出,而只能作为 0, 1, 2, 3。
我可以以某种方式创建一个新数组,其数组值将是那些新的索引位置,然后对这个新数组进行排序,但保留以前的索引>值对。
虽然听起来很简单,但我找不到解决方案。
谢谢
PS 我实际上想按数组中包含的短语中单词之间的空格数进行排序。然后我想显示按空格数排序的内容(首先是单词最多的短语)。
var input = ["zero", "here two spaces", "none", "here four spaces yes"];
var resort = [];
for (i = 0; i < input.length; i++) {
var spaces = (input[i].split(" ").length - 1);
resort.push(spaces); // …Run Code Online (Sandbox Code Playgroud)