小编Nae*_*ikh的帖子

Express中的app.use()和router.use()之间的区别

我刚刚阅读了快递文档并找到了这两个术语,app.use();并且router.use();

我知道app.use();在节点中用于在路径上安装中间件,我们经常在大多数节点应用程序中使用它.但router.use();它们都是一样的么?如果没有,那么差异是什么?

在这里读到了路由器.我也在SO上发现了类似的问题"express.Router"与使用"app.get"的路由有什么区别?app.all('*')和app.use('/')之间的区别,但它们并没有真正回答我的问题.谢谢.

node.js express

71
推荐指数
2
解决办法
5万
查看次数

ES6模板文字与串联字符串

我有以下Ecma-Script-6的代码 template literals

let person = {name: 'John Smith'};   
let tpl = `My name is ${person.name}.`;    
let MyVar="My name is "+ person.name+".";

console.log("template literal= "+tpl);  
console.log("my variable = "+MyVar);
Run Code Online (Sandbox Code Playgroud)

输出如下:

template literal= My name is John Smith.
my variable = My name is John Smith.
Run Code Online (Sandbox Code Playgroud)

是小提琴.我试着寻找确切的差异但找不到它,我的问题是这两个陈述有什么区别,

  let tpl = `My name is ${person.name}.`;    
Run Code Online (Sandbox Code Playgroud)

  let MyVar = "My name is "+ person.name+".";
Run Code Online (Sandbox Code Playgroud)

我已经能够在这里MyVar连接字符串person.name了,那么使用模板文字的场景是什么?

javascript node.js ecmascript-6 template-strings

64
推荐指数
4
解决办法
6万
查看次数

Provider'xx'必须从AngularJs中的$ get factory方法返回一个值

我写了一个angularjs工厂如下

module.factory('LogService', function () {

    function log(msg) {
        console.log("Rahkaran:" + new Date() + "::" + msg);
    }

    return 
    {
        log: log
    };

});
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误

Provider 'LogService' must return a value from $get factory method

我用谷歌搜索了错误,我找不到任何解决方案.

巧合的是我把return声明改成了这个

return{
    log: log
};
Run Code Online (Sandbox Code Playgroud)

错误消失了!!

{在前面return或下一行之间有什么区别吗?

javascript angularjs

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

JavaScript与Java中数组中的非初始化项有什么区别?

我刚刚玩JavaScript并且遇到了一个简单的程序.

我用JavaScript声明了一个数组

var a = [0, 1, 2];
Run Code Online (Sandbox Code Playgroud)

然后由于JavaScript中的数组没有固定的大小,我们可以向数组中添加更多,我向数组添加了另一个整数.

a[3] = 3;
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,如果我试图访问,a[4]我肯定会得到它undefined.

现在,如果我拿一个数组

var a = [0,1,2];
Run Code Online (Sandbox Code Playgroud)

并添加另一个元素

a[4] = 4;
Run Code Online (Sandbox Code Playgroud)

我故意没有定义a[3],而这也给了我a[3]作为undefined.

这是一个可以观察到的小提琴:http://jsfiddle.net/ZUrvM/

现在,如果我在Java中尝试相同的事情,

int[] a = new int[4];
a[0] = 0;
a[1] = 1;

a[3] = 3;
Run Code Online (Sandbox Code Playgroud)

然后我结束了

a[2] = 0;
Run Code Online (Sandbox Code Playgroud)

你可以在ideone上看到这个:https://ideone.com/WKn6Rf

我发现Java的原因是在声明数组时定义了四个变量,我们只能为声明的数组大小赋值.但是在JavaScript中,当我声明一个大小为3的数组然后添加第5个元素时,为什么它不考虑第4个元素,null或者0我们是否将数组大小增加到4以上?

为什么我在JavaScript中看到这种奇怪的行为,而在其他语言中却看不到?

javascript java arrays

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

HTML5地理位置watchPosition只调用一次

我正在使用html 5创建一个Android应用程序,我想在用户移动时从用户访问latlong.我曾经使用过watchPostion,但它仅仅让我感受到一次用户位置.

    var watchID;
var geoLoc;

function showLocation(position) {
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;

    var ll=new google.maps.LatLng(latitude, longitude);
    map.setCenter(ll);

  console.log("Latitude : " + latitude + " Longitude: " + longitude);
}

function errorHandler(err) {
  if(err.code == 1) {
    console.log("Error: Access is denied!");
  }else if( err.code == 2) {
    console.log("Error: Position is unavailable!");
  }
    }
    if(navigator.geolocation){
      // timeout at 60000 milliseconds (60 seconds)
      var options = {timeout:60000};
      geoLoc = navigator.geolocation;
      watchID = geoLoc.watchPosition(showLocation, 
                                     errorHandler,
                                     options);


   }else{
      console.log("Sorry, browser …
Run Code Online (Sandbox Code Playgroud)

html5 geolocation

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

node.js相当于标准的PHP ajax保存方案

在JavaScript(客户端)+ PHP(服务器)网站中,我有这个方案用于将" online notepad"(在#textboxtextarea中)保存到服务器:

// client-side
$("#save-button").on('click', save); 

function save(e) {
  $.ajax({ type: "POST",
           url: "/php/save.php",
           data: { projectname: $('#projectname').text(), 
                   data: $('#textbox').text() },
           success: function(data) { alert('Data saved'); },
           error: function(data) { console.log(data); } });
}
Run Code Online (Sandbox Code Playgroud)

这在服务器端(/php/save.php):

<?php

$projectname = $_POST['projectname'];
$data = $_POST['data'];

// save this into database

?>
Run Code Online (Sandbox Code Playgroud)

node.js(客户端+服务器)中等效的"post to server and save on server"方案是什么?(express例如使用)

这个任务有一个众所周知的node.js" pattern"吗?

$.ajax(...)在客户端和服务器上的node.js上使用是常见/良好的做法吗?我认为node.js引入了一种新的思维方式,不再需要ajax ......我错了吗?

javascript ajax node.js express

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

通过纯JavaScript更新CSS ...如果属性使用供应商前缀,如何更新?

例如,如果我想要一个抓取我的光标图标,在CSS中我会使用这个:

div {
     cursor: -moz-grabbing;
     cursor: -webkit-grabbing;
     cursor: grabbing;
    }
Run Code Online (Sandbox Code Playgroud)

但是,让我们说,我想通过JavaScript实现这一点,但仍然可以覆盖所有这三个,我该怎么做?我只是将它们分为三行 - JavaScript是否回退到之前的作业?

document.getElementById('theDiv').style.cursor = '-webkit-grabbing';
document.getElementById('theDiv').style.cursor = '-moz-grabbing';
document.getElementById('theDiv').style.cursor = 'grabbing';
Run Code Online (Sandbox Code Playgroud)

javascript css vendor-prefix

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

边界半径使用CSS在三角形的左上角

我有这个代码

div {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 85px 85px 0 0;
  border-color: #c00000 transparent transparent transparent;
  float: left;
  position: absolute;
  top: 8px;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

如何在左上方的CSS三角形上应用边框半径?这似乎是不可能在这里.

html css css3 css-shapes

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

什么是calc()的结果在CSS中

我们现在开始calc()在css中使用,用于设置计算结果的宽度.例如:

<div id='parent'>
<div id='calcWidth'></div>
</div>


   #parent{
           width:100px;
           }
   #calcWidth{
            width:calc(100% - 3px);
            height:100px;
            background:red;
           }
Run Code Online (Sandbox Code Playgroud)

我知道它是如何calc()工作的,但我只是想知道在css中返回什么,代替calc(100% - 3px);上面给出的例子.

我的困惑是什么?

  • 在上面的例子中 width:calc(100% - 3px);

  • 100%宽度实际上100px是在运行时由css确定的.

  • 所以计算出的宽度为100px-3px=97px97px,如果将其转换为% 97%右边?

但现在,有两种可能性

  • 97px 返回,设置为宽度.

  • 97% 返回,设置为宽度.

我的问题是:

在这两种情况下,现在的宽度应设置为97px,但什么是返回的结果width:calc(100% - 3px);,97pxOR 97%

你也可以看到这个小提琴:http: //jsfiddle.net/8yspnuuw/1/

编辑:请阅读

见朋友:举一个简单的例子:

 <div class='parent'>
    <div class='child'>
    </div>
    </div>

.parent{
width:200px;
}
 .child{
  width:20%
  }
Run Code Online (Sandbox Code Playgroud)

我知道渲染时子的宽度将变为160像素.好的!但那不是css中设置的那个吗?css将其设置为%,它只是以像素呈现.

所以类似地,使用calc,它会返回% …

css css3 css-calc

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

是否有可能缩小ejs文件中的JS代码?

我想知道是否有可能缩小包含在EJS文件之类的模板文件中的JS代码.

它有用吗?我正在考虑表演.它仍然是一种隐藏评论和解释的方法.

javascript minify ejs embedded-javascript

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