小编Kay*_*ast的帖子

res.sendFile绝对路径

如果我做了

res.sendfile('public/index1.html'); 
Run Code Online (Sandbox Code Playgroud)

然后我得到一个服务器控制台警告

不推荐使用res.sendfile:res.sendFile改为使用

但它在客户端工作正常.

但是当我改变它

res.sendFile('public/index1.html');
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

TypeError:path必须是绝对路径或指定root到 res.sendFile

并且index1.html没有呈现.

我无法弄清楚绝对路径是什么.我的public目录与...相同server.js.我做了res.sendFileserver.js.我也宣布了app.use(express.static(path.join(__dirname, 'public')));

添加我的目录结构:

/Users/sj/test/
....app/
........models/
....public/
........index1.html
Run Code Online (Sandbox Code Playgroud)

这里指定的绝对路径是什么?

我正在使用Express 4.x.

path node.js express

121
推荐指数
7
解决办法
23万
查看次数

如何使用'替换'功能来定制AngularJS指令?

为什么replace=true还是replace=false没有在下面的代码产生任何影响?

当replace = false时,为什么不显示"某些现有内容"?

或者更谦虚地说,你能否解释一下replace=true/false指令中的功能是什么以及如何使用它?

JS /角:

<script>
    angular.module('scopes', [])
          .controller('Ctrl', function($scope) {
                $scope.title = "hello";

          })
          .directive('myDir', function() {
            return {
              restrict: 'E',
              replace: true,
              template: '<div>{{title}}</div>'
            };
      });
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<div ng-controller="Ctrl">
    <my-dir><h3>some existing content</h3></my-dir>
</div>
Run Code Online (Sandbox Code Playgroud)

在Plunker中看到它:

http://plnkr.co/edit/4ywZGwfsKHLAoGL38vvW?p=preview

angularjs angularjs-directive

90
推荐指数
2
解决办法
10万
查看次数

socket.io客户端连接断开连接

我无法弄清楚为什么多次断开/连接socket.io连接不起作用?

服务器端代码:

io.on('connection', function(socket){
    console.log('a user connected');
    socket.on('disconnect', function(){
        console.log('user disconnected');
    });
});
Run Code Online (Sandbox Code Playgroud)

客户端代码:

var socket = io();
socket.on('connect', function() {
    console.log("connected from the client side");
});
$('#connect_button').click(function(){
    socket.connect();
});
$('#disconnect_button').click(function(){
    socket.disconnect();
});
Run Code Online (Sandbox Code Playgroud)

它断开连接.但不重新连接.我正在使用Socket.io 1.0.请帮忙.

node.js socket.io socket.io-1.0

18
推荐指数
2
解决办法
7万
查看次数

在AngularJS中,如何删除使用$ compile创建的元素?

我写了一个简单的例子,我使用$ compile动态创建一个元素.这个新元素有另一个按钮,我想要删除这个元素(我已经读过,破坏范围/元素以避免泄漏是很好的).但函数closeThisElement()不起作用; 请帮忙.

请参阅此处的plunker:http://plnkr.co/edit/js7mpUMndjZEdMvRMuZk?p = preview

同时复制以下部分代码:

link: function($scope, $element) {
    function closeThisElement(){
        $element.remove();
    }
    function addComment(){
        $element.append($compile('<div class="publishComment"><input type="text" ng-model="contentForReply"/><button ng-click="publishReply(contentForReply); closeThisElement()">Publish Reply</button></div>')($scope));
    }
    $scope.addComment = addComment;
}
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

10
推荐指数
1
解决办法
2万
查看次数

与背景颜色的透明边界

这很奇怪.

这有效:

border-right: 1px solid rgba(0,0,0,0.12);
/* renders a gray border */
Run Code Online (Sandbox Code Playgroud)

但是当我将它与背景颜色一起使用时,边框现在是一条坚实的黑色线条.

background-color: #333;
border-right: 1px solid rgba(0,0,0,0.12);
/* renders a black border */
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

http://codepen.io/anon/pen/myxpXN

html css border

9
推荐指数
1
解决办法
3957
查看次数

即使我的路由指向另一个文件,express也会提供index.html

我有这些文件的公开目录index.html,并index-08.html在里面.

使用下面的代码,我希望index-08.html能够提供服务.但相反,请index.html使用浏览器请求localhost:3000

app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res) {
    res.sendFile('public/index-08.html');
});
Run Code Online (Sandbox Code Playgroud)

但是,如果我将文件名更改index.html为其他内容,比如说not-index.html,则会提供正确的文件index-08.html.

你能帮我理解为什么会这样吗?

routing node.js express

6
推荐指数
1
解决办法
4770
查看次数

节点mysql插入当前日期

mysql 节点文档给出了如何转义和做简洁事情的示例。我无法弄清楚如何使用这种方法插入当前时间。

var post  = {id: 1, createdDate: 'NOW()'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
});
// Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: 'NOW()' for column 'createdDate' at row 1
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js node-mysql

5
推荐指数
1
解决办法
9027
查看次数

MySQL 根据条件计算行数

我有以下(简化的)表格

users
+----+-------+
| id | name  |
+----+-------+
|  1 | alpha |
|  3 | gamma |
|  5 | five  |
|  7 | seven |
|  9 | nine  |
+----+-------+

user_relationships
+--------------+----------------+----------------------+
| from_user_id | target_user_id | relationship_type_id |
+--------------+----------------+----------------------+
|            1 |              3 |                    1 |
|            1 |              5 |                   -1 |
|            1 |              7 |                    1 |
|            1 |              9 |                    1 |
|            7 |              1 |                    1 | …
Run Code Online (Sandbox Code Playgroud)

mysql sql

5
推荐指数
1
解决办法
2277
查看次数

Brave/Chrome 浏览器中图像周围出现不需要的边框半径角

我尝试在容器内显示一个简单的图像border-radius: 5px;。但角落处似乎有一个细边框的轮廓(您需要仔细查看下图)。如何避免这些角边框?

在此输入图像描述

.cover {
    margin: 1em;
    padding: 1em;
}
.image-wrapper {
    height: 15em;
    width: 15em;
    overflow: hidden;
    background-color: black;
    border-radius: 15px;
}
img {
    height: 100%;
    width: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div class="cover">
    <div class="image-wrapper">
        <img
            src="https://images.pexels.com/photos/316466/pexels-photo-316466.jpeg"
        />
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

是的,如果我删除它就会消失background-color: black;。但我需要保留background-color,我还需要img { height: 100%; width: auto; }保持纵横比,并处理图像尺寸太薄或太宽等情况。

搜索其他类似问题时,我只能找到针对 Safari 的问题/回复。我正在使用 Brave 浏览器。

html css

5
推荐指数
1
解决办法
1125
查看次数

使用redis for pub-sub时不需要的多条消息

当我使用socket.io执行pub/sub时,下面的代码工作得很好.

基本上,我从浏览器发送聊天消息.在服务器上,我收听此消息并将其发回给所有来自服务器的相同消息.所以,我希望每发送一条消息都会返回/打印1条消息.

通过以下内容,我可以从多个浏览器登录,当我发送聊天消息时,它会按预期返回/打印为单个聊天消息.

io.use(socketHandshake({store: sessionStore, key:'jsessionid', secret:'secret', parser:cookieParser()}));
io.on('connection', function (socket) {
    socket.on('chat', function (message) {
        io.emit('chat', "hello world");
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用redis做pub/sub时,会出现问题.

从第一个浏览器:1个聊天消息导致打印出1个聊天消息

从第二个浏览器:1个聊天消息导致打印出2个聊天消息

从第三个浏览器:1个聊天消息导致打印出3个聊天消息

var sub = redis.createClient();
var pub = redis.createClient();
sub.subscribe('chat');
io.use(socketHandshake({store: sessionStore, key:'jsessionid', secret:'secret', parser:cookieParser()}));
io.on('connection', function (socket) {
    socket.on('chat', function (message) {
        // io.emit('chat', "hello world");
        pub.publish('chat', "hello world");
    });
    sub.on('message', function (channel, message) {
        io.emit(channel, message);
    });
});
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我是初学者,我正在尝试这个例子http://blog.cloudfoundry.org/2013/01/24/scaling-real-time-apps-on-cloud-foundry-using-node-js-and -redis /使用最新版本的express,socket.io,socket.io-handshake和redis.

我对这个redis pub/sub感到难过.请帮忙.

publish-subscribe redis node.js socket.io node-redis

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