小编Rik*_*ard的帖子

带有 id 的 express 路由器

我知道我可以在 Express 中做到这一点:

app.use('/:id', function (req, res){ // or app.get
    console.log('Test param: ' + req.params.id); // "Test param: foo"
});
Run Code Online (Sandbox Code Playgroud)

获取我的 url 参数。

当我尝试使用路由器逻辑时,我做了:

索引.js

var sites = require('./routes/sites');
app.use('/:id', sites);
Run Code Online (Sandbox Code Playgroud)

路线/sites.js

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
    console.log(req.params.id); // logs "undefined"
    // etc ...
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

这个逻辑不起作用,我进入{}了 shell 命令,undefined对于req.params.id.

知道我的逻辑哪里错了吗?

node.js express

3
推荐指数
1
解决办法
5339
查看次数

从.md或.json文件导入数据

我是新的,对nodejs很好奇.

我想将数据从json(或.md)文件导入节点/ jade页面.只是指出方向我应该看起来没问题.

就像是

{
  "name": "contact_info",
  "workers": {
    "john": {
      "img": "/img/john.jpg",
      "name": "John Mitchel",
      "description": "John is a nice guy...",
    },
    "anna": {
      "img": "/img/anna.jpg",
      "name": "Anna James",
      "description": "Anna is great at tenis",
    },
... //etc
Run Code Online (Sandbox Code Playgroud)

并导入,以便在HTML的HTML中呈现.

任何指针将不胜感激.

json node.js

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

PHP日期和strtotime添加12分钟?

这段代码:

date_default_timezone_set('Europe/Stockholm');
$time = date('H:m', strtotime('08:00:00'));
echo $time;
Run Code Online (Sandbox Code Playgroud)

回声08:12......为什么?我在这里想念的是什么?

http://writecodeonline.com/php/上也尝试使用完全相同的代码并得到相同的结果.如果我做错了,我会期望在几小时内出现错误,但12分钟似乎很奇怪.

08:00:00值是我的数据库中的一个示例,所有时间都存储为TIME.

php

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

git设置在origin的上游

我一直在阅读和使用git,但仍然对"起源"一词感到困惑.

我有一个当地的回购,我在上面开了一个新的分支.这个新分支是我主人的副本.

我的主人是原始主人的一个分支,另一个由其他人制作的回购,并且在一些提交中落后于原始主人,在其他一些人后面.

我想将我的分支"myBranch"与原始主人合并.即,我希望我的新分支是原始主人的克隆(不是我自己的主人)

怎么去?

我已经尝试过git rebase,git merge, - set-upstream-to =,git fetch ......说实话我只是感到困惑.

git github

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

轮子事件和"鼠标轮"的deltaY值

看看MDN的 DOM3 wheel事件的polyfil,我找到了这一行:

event.deltaY = - 1/40 * originalEvent.wheelDelta;
Run Code Online (Sandbox Code Playgroud)

在polyfil中event,不支持dom3事件(wheel)的浏览器的对象被赋予了deltaY.
这个比例是如何1/40 * wheelDelta计算的?为什么1/40

如果我要为我的库创建一个类似的polyfil,并希望将delta信息传递给事件对象,我是否还要添加deltaX和deltaZ?适用相同的比例吗?

javascript

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

类静态属性

在新的ES6 Class语法中,不可能这样做

class Person {
    this.type = 'person';
Run Code Online (Sandbox Code Playgroud)

但是如果我在构造函数中定义属性它可以工作:

class Person {
    constructor(name) { //class constructor
        this.name = name;
        this.type = 'person';
    }
Run Code Online (Sandbox Code Playgroud)

我知道有属性之外的方法的可能性正在讨论中,但今天和什么涉及到ES6规格是不可能的.

我的解决方案是为类定义静态属性的正确方法(出于语义原因,我在构造函数中定义了这些属性,但它似乎在其他方法中工作)?有没有更好的办法?

我正在查看Method Defenition中的规范,没有找到关于此的信息.

javascript ecmascript-6

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

在.sh脚本中永久使用“ npm start”作为命令

我有一个.sh脚本/etc/init-d/forever来配置如何forever启动和停止Node.js应用程序。

我想从forever命令开始npm start,所以我可以从那里触发我的脚本。这可能吗?

我试过了

sudo forever start --sourceDir /home/my-app -c npm start 
Run Code Online (Sandbox Code Playgroud)

但是它解释错了...

信息:永久处理文件:启动
错误:无法永久启动
错误:脚本/ root / start不存在。

到目前为止,我的脚本是:

NAME=nodeapp
SOUREC_DIR=/home/nodeapp        
COMMAND="npm start"
SOURCE_NAME=index.js
USER=root
NODE_ENVIROMENT=production

pidfile=/var/run/$NAME.pid
logfile=/var/log/$NAME.log
forever=forever

start() {
    export NODE_ENV=$NODE_ENVIROMENT
    echo "Starting $NAME node instance : "

    touch $logfile
    chown $USER $logfile

    touch $pidfile
    chown $USER $pidfile

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    sudo -H -u $USER …
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js forever

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

选择没有值属性的选项

这是正确的还是无效的标记(当选项没有值时)?
.val()是没有value=""分配时的预期jQuery行为吗?

<select id="select_ID">
    <option></option>
    <option>Name</option>
    <option>Recent</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如果我使用$("#select_ID").val();我得到"名称"/"最近",但如果选项有一个值,我会得到值的内容.

我知道.text()这个例子中有"Name"和"Recent".只是混淆为什么在没有分配值时.val()给我.text().

FIDDLE(注意警报的不同结果)

jquery

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

输入类型日期和JavaScript设置的最小值

我正在使用 Chrome(版本 31.0.1650.63 m),当我通过 javascript 设置最小日期时input type date,HTML 中的最小属性发生更改,但日期选择器不使用它。

我缺少什么?

<input type="date" id="input" />
//...
document.getElementById('input').setAttribute("min", '2013-12-9');
Run Code Online (Sandbox Code Playgroud)

小提琴

html javascript google-chrome

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

CJS和ES6模块之间的语法差异

在CJS模块中,我将使用exportvar plugin = require('plugin');     导出/导入
在ES6模块中我将使用exportimport * as plugin from 'plugin';导出/导入.

是否有更多的语法差异?这些^差异是否正确?

什么export defaultexport *

javascript commonjs ecmascript-6

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

正则表达式接受电话号码+

我正在以具有此/^[\d\s ().-]+$/电话号码正则表达式的形式实现验证器功能.

我想改变它接受一个开始+,然后所有的组合[0-9] . - , ( ).

谢谢你的意见.

regex

0
推荐指数
1
解决办法
140
查看次数

向 Vue 实例的 destroy 钩子添加回调

我有一个 Map,其中的键是 Vue 组件的实例,例如:

const instanceA = new Vue({...});
const instanceB = new Vue({...});

const register = new Map();
function registerInstance(instance){
    register.set(instance, []);
}
Run Code Online (Sandbox Code Playgroud)

如何将回调挂钩到 Vue 组件的销毁?我希望当组件被销毁时,我会从我的Map寄存器中删除它的引用。就像是:

function registerInstance(instance){
    register.set(instance, []);
    instance.onDestroy(() => {
        register.set(instance, null);
        register.delete(instance);
    });
}
Run Code Online (Sandbox Code Playgroud)

这将进行适当的清理以避免内存泄漏,但不确定如何向 Vue 实例的销毁过程添加回调......

我不想在每个组件beforeDestroydestroyed函数中添加这个逻辑。我想从组件外部添加它们,只需使用其实例指针...


我想过用一个函数来覆盖 instance.beforeDestroyed ,该函数调用我的代码,然后是实例中的原始 instance.beforeDestroyed 。但这感觉很不对

javascript vue.js

0
推荐指数
1
解决办法
1066
查看次数