C# 从服务器将.js文件作为源添加到html文件中

C# 从服务器将.js文件作为源添加到html文件中,c#,javascript,asp.net,C#,Javascript,Asp.net,我的服务器上有一个HTML文件,同一台服务器上有一个Javascript文件。我想要它,这样当我加载HTML文件时,它将引用服务器上放置的.js文件 我试着这样做: <html> <head> <script type="text/javascript src="...server side path...."></script> </head> </html> Javascript文件在

我的服务器上有一个HTML文件,同一台服务器上有一个Javascript文件。我想要它,这样当我加载HTML文件时,它将引用服务器上放置的.js文件

我试着这样做:

<html>
    <head>
        <script type="text/javascript src="...server side path...."></script>
    </head>
</html>


Javascript文件在客户端上读取和执行

您需要使用客户端路径;浏览器将向该URL发送HTTP请求。

使用此选项

var sc=document.createElement('script');
sc.src="script.js";
document.getElementsByTagName('head')[0].appendChild(sc);
有些时候使用像js这样的资源,css来自跨域浏览器的安全性是不允许使用的

若问题并没有解决,我不确定,但这可能会帮助你们

<script>
     window.domain = "YOUR_DOMAIN.COM";
</script>

window.domain=“YOUR_domain.COM”;

我想问题可能是您不知道如何创建javascript文件的路径

如果是这种情况,最简单的方法是首先尝试将两个文件(HTML和js文件)放在同一个目录中,只使用不带路径的文件名:

<script type="text/javascript" src="somefile.js"></script>
然后,对
html
中的
js
文件的引用如下:

<script type="text/javascript" src="../subfolder2/somescript.js"></script>
<script type="text/javascript" src="../../someother.js"></script>

编辑:

客户端上的路径不能包含
~
符号。该符号应由服务器端解析(即
标记内部)


请使用我上面描述的安全相对路径,或者使用服务器端代码创建路径(请参阅另一个问题:)

以下是有关如何执行此操作的视频:

查看有关如何操作的视频:

方法1:在服务器上设置GET响应

如果您正在运行node express server,则以下是如何执行此操作:

在HTML文件中:

<script type='module' src="test.js"></script> 
以下是完整代码:

const express = require('express');
const path = require('path');
const app = express();

app.use(express.static(path.resolve(__dirname, '..', 'public')));

app.get('/test.js', (req,res)=> {
    res.sendFile(path.resolve(__dirname, '..', 'test.js'));
})

const port = 1000;
app.listen(port, console.log(`listening on port: ${port}`));
方法2:使用快速静态功能(参见上面的视频)

e、 g

现在把你的JS文件放到这个文件夹中。这允许客户端接收该文件夹中的静态文件,而无需GET请求

在HTML文档中,假设JS文件位于根目录下,它将为您加载:

<script type='module' src="test.js"></script>

方法3:将JS文件与HTML文件放在同一文件夹中

或者,只需将JS文件放在与HTML文件相同的文件夹中即可

在HTML文件中,使用以下代码:

 <script type='module' src="test.js"></script>


请参阅如何操作的视频:

是否因为您没有关闭“text/JavaScript”周围的引号而无法使用?只需将您的
js
文件从
solution explorer
拖动到
head tag
,Asp.net将自己设置正确的路径。我编辑了上面的文章以获得更好的理解…我想这不是路径问题。问题出在其他地方,我找不到。请回复我编辑了上面的帖子以获得更好的理解。请回答
const express = require('express');
const path = require('path');
const app = express();

app.use(express.static(path.resolve(__dirname, '..', 'public')));

app.get('/test.js', (req,res)=> {
    res.sendFile(path.resolve(__dirname, '..', 'test.js'));
})

const port = 1000;
app.listen(port, console.log(`listening on port: ${port}`));
app.use(express.static(path.resolve(__dirname, '..', 'public')));
app.use(express.static(path.resolve(__dirname, '..', 'jsFiles')));
app.use(express.static('foldername') 
<script type='module' src="test.js"></script>
 <script type='module' src="test.js"></script>