var _ = require('underscore')在Windows脚本宿主中引发“期望的对象”

时间:2018-10-20 01:16:20

标签: javascript underscore.js

我正在对JS进行复习,并且 Underscore 库有一个练习:

var _ = require('underscore');
function print(n){
    console.log(n);
}

_.each([1,2,3],print);

看起来很简单:我通过npm install underscore安装了该库,我的package.lock.json显示了

{
  "requires": true,
  "lockfileVersion": 1,
  "dependencies": {
    "underscore": {
      "version": "1.9.1",
      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
      "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
    }
  }
}

我正在运行节点v10.9.0,npm v6.2.0。 node_modules 文件夹存在。

我也尝试过使用import _ from 'underscore'import {each } from 'underscore',但是(预期)会遇到相同的错误。

编辑:,如果您在全球范围内安装 Underscore ,该脚本可以正常运行。任何人都可以找出package.lock.json中是否有错误,可能导致找不到图书馆?

1 个答案:

答案 0 :(得分:0)

最终成为 Node的问题。 js 。我在另一台计算机上尝试了该示例,并且该示例有效。因此,我重新安装了 Underscore.js ,但没有成功(除了在全局范围内运行)。测试了其他一些库并遇到了相同的问题。检查路径,权限,一切正常。重新安装 Node.js ,它就可以正常工作。