var _ = require('underscore') 在 Windows 脚本宿主中抛出 "Object expected"

var _ = require('underscore') throws "Object expected" in Windows Scripting Host

我正在复习 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=="
    }
  }
}

我是 运行 node v10.9.0,npm v6.2.0。 node_modules 文件夹存在。

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

编辑: 我更进一步...如果我全局安装 Underscore,脚本运行正常。任何人都可以弄清楚 package.lock.json 中是否存在导致它找不到库的错误吗?

最终成为 Node 的问题。 js 在这台电脑上。我在另一台电脑上试过这个例子,它成功了。所以,我重新安装了 Underscore.js 但没有成功(除了 运行 它在全球范围内)。测试了其他几个库和 运行 到同一个问题。检查路径、权限,一切正常。重新安装了 Node.js,它就成功了。