首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从节点服务器访问js时出错

从节点服务器访问js时出错
EN

Stack Overflow用户
提问于 2018-05-07 17:44:53
回答 1查看 85关注 0票数 0

我是nodejs的新手,请原谅。我已经创建了一个节点js服务器应用程序,并且html是使用以下快捷方式提供的

代码语言:javascript
运行
复制
app.use(express.static( 'public/js'));
app.use(express.static( 'public/css'));
app.use(express.static( 'public/img'));

res.sendFile(path.join(__dirname +  "/public" + "/login.html"));

在客户端,JS包含在head标记中,如

代码语言:javascript
运行
复制
<script src="fingerprint.js" type="text/javascript"></script>

body标记中的内联JS是

代码语言:javascript
运行
复制
var bid = new Fingerprint();
document.getElementById('bid').value = bid.get();
console.log("----"+bid.get());
document.write('Hello');

在这里,如果我从节点服务器运行这个HTML,内联JS就不能工作,就好像我在文件模式(即file:///login.html )中运行一样,一切正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 18:16:23

这对我起了作用:

代码语言:javascript
运行
复制
/* jshint ignore:start */
// app.js
const express = require('express');
const app = express();
const path = require('path');

app.use(express.static(__dirname + "/public"));

// Root path redirect
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname + "/public" + "/login.html"));
});

app.listen(3000, () => console.log('Example app listening on port 3000!'))

下面是我的目录结构(查看左窗格):

HTML文件:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="/js/fingerprint.js"></script>
</head>

<body>
    <!-- HTML Content  -->
    <div id="bid"></div>
    <!-- Inline JS -->
    <script>
        var bid = new Fingerprint();
        document.getElementById('bid').value = bid.get();
        console.log("The Bid Value: " + bid.get());
        // document.write('Hello');
    </script>
</body>

</html>

最后,fingerprint.js文件:

代码语言:javascript
运行
复制
/* jshint ignore:start */
class Fingerprint {
    get() {
        return 2;
    }
}

我可以正确地看到Fingerprint对象的加载:

如果这对你有用的话请告诉我。

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

https://stackoverflow.com/questions/50219765

复制
相关文章

相似问题

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