Hello stackoverflow成员,
这是我的第一个问题,所以请保持温和。
目前我有一个运行node.js的Amazon-web-service(AWS)服务器。 我已经从AWS复制了node.js文件中的node.js文件。
////node.js
var port = process.env.PORT || 3666,
http = require('http'),
fs = require('fs'),
html = fs.readFileSync('index.html');
var log = function(entry) {
fs.appendFileSync('/tmp/sample-app.log', new Date().toISOString() + ' - ' + entry + '\n');
};
var server = http.createServer(function (req, res) {
if (req.method === 'POST') {
var body = '';
req.on('data', function(chunk) {
body += chunk;
});
req.on('end', function() {
if (req.url === '/') {
log('Received message: ' + body);
} else if (req.url = '/scheduled') {
log('Received task ' + req.headers['x-aws-sqsd-taskname'] + ' scheduled at ' + req.headers['x-aws-sqsd-scheduled-at']);
}
res.writeHead(200, 'OK', {'Content-Type': 'text/plain'});
res.end();
});
} else {
res.writeHead(200);
res.write(html);
res.end();
}
});
// Listen on port 3000, IP defaults to 127.0.0.1
server.listen(port);
// Put a friendly message on the terminal
console.log('Server running at http://127.0.0.1:' + port + '/');
我如何在标题中写入我只得到index.html。 这就是它在控制台中的外观
bundle.js:1 Uncaught SyntaxError:意外的标记<
如果我在网络标签中打开bundle.js(来自chrome),则只有index.html中的代码
////index.html
<!doctype html>
<html class="no-js" lang="ger" dir="ltr">
<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" />
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.6.7.js" type="application/javascript"></script>
</head>
<body>
<h1>test</h1>
<div ng-view></div>
<script>
$(document).foundation();
</script>
</body>
</html>
Node JS and Webpack Unexpected token < 这里有另一个人同样的问题(可能),但我知道他们只推荐了其他服务器应用程序(Express)多远? 但因为我使用AWS我只能使用node.js
它与bundle.js无关。这个问题有任何JavaScript文件。
我没有使用node.js,我只想加载Javascript文件。
一个小问题:我可以正确使用和加载http调用。但这是极其耗时的。我需要在我的AWS s3存储桶上加载所有Js文件(甚至我的模块控制器)。
这是一个单页面应用程序,它有许多自定义Javascript文件和模块。 Here a screenshot from my directory
我期待你的回答!
答案 0 :(得分:2)
您的节点服务器配置为仅提供index.html
文件。
您的http.createServer
方法实施可细分为:
When a request comes in
If it is a POST request
Process the request
else
Serve index.html
因此,当您bundle.js
发出请求时,您正在服务index.html
。由于bundle.js
应该是javascript,因此在读取<
令牌时会引发错误,因为它不是有效的JavaScript令牌。
解决这个问题应该分解为几个问题。您应该从本地设置工作服务器开始 - 使用https://mvnrepository.com/artifact/com.google.code.gson/gson之类的内容可以帮助简化为不同请求提供不同文件的服务。