小编Sha*_*arZ的帖子

Expressjs GET 对 javascript 文件的 GET 请求作为文本/html

我有一个主要使用 Angular 的应用程序,我想将它连接到 Express 以加密和发送私有 API 密钥,这样它们就不会简单地存储在客户端上。

我的问题是浏览器将静态提供的 js 文件读取为 text/html,这导致我的 javascript 无法加载。您可以看到响应是 200 并且文件在那里,只是没有被正确解释。
图片

index.html 有很多这样的脚本请求

<script type="text/javascript" src="/keys.js"></script>
<script type="text/javascript" src="/public/lib/underscore/underscore-min.js"></script>
<script type="text/javascript" src="/public/lib/jquery/dist/jquery.min.js"></script>
<script type="text/javascript"  src="/public/lib/bootstrap/dist/js/bootstrap.min.js"></script>
...
Run Code Online (Sandbox Code Playgroud)

快速路由代码:

var express = require('express');
var path = require('path');

var app = express();

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

app.get('*', function(req,res) {
    res.sendFile(path.resolve('./public/views/index.html'));
});

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

任何有 Express 经验的人 - 提供具有不同 MIME 类型的静态文件的正确方法是什么?我最终也需要提供 text/css 类型。

javascript node.js express web

4
推荐指数
1
解决办法
2579
查看次数

Lodash /下划线:将对象数组转换为单个对象

我有一个看起来像这样的对象数组:

var A = [{key:"key1",val:1},{key:"key2",val:2},...,{key:"keyn",val:n}]
Run Code Online (Sandbox Code Playgroud)

我想转换A为一个对象:

{
    key1: 1,
    key2: 2,
    ...
    keyn: n
}
Run Code Online (Sandbox Code Playgroud)

这个用例从来没有出现过,但我正在考虑做什么mapKeys然后mapValues我觉得有一个更简单的答案.谢谢!

javascript underscore.js lodash

3
推荐指数
2
解决办法
2693
查看次数

Javascript位移到32位

我有一系列的整数

var ints = [R,B,G,A]
Run Code Online (Sandbox Code Playgroud)

我想使用shift来获得32位表示

var thirtyTwo = AGBR
Run Code Online (Sandbox Code Playgroud)

例如,

[255.0, 0.0, 0.0, 255.0] => 0xFF0000FF => 4278190335
Run Code Online (Sandbox Code Playgroud)

我试图通过循环和bitshift来做到这一点:

function cArrayToABGR(va) {
    var res = 0;
    for (var i = 0; i < va.length; ++i) {
        var color = va[i];
        color <<= (8 * i);
        res += color;
    }
    return res;
}
Run Code Online (Sandbox Code Playgroud)

但主要的问题是,当我将255.0移位到<< 24时,我得到一个负数

255.0 << 24 = -16777216    
Run Code Online (Sandbox Code Playgroud)

这告诉我,我要么有点限制,要么签署了res.我认为Javascript中的所有按位操作都是在无符号的32位浮点数上,所以不确定这里发生了什么.救命?

javascript bit-manipulation

2
推荐指数
2
解决办法
625
查看次数