0

我正在尝试自学咖啡脚本,但在尝试使用 localStorage 时却功亏一篑。

$ coffee detail_view.coffee 
ReferenceError: localStorage is not defined
  at isLoggedIn (/Users/me/workspace/hero/html_client/detail_view.coffee:12:18, <js>:5:13)
  at Object.<anonymous> (/Users/me/workspace/hero/html_client/detail_view.coffee:225:4, <js>:144:7)
  at Object.<anonymous> (/Users/me/workspace/hero/html_client/detail_view.coffee:164:4)
  at Module._compile (module.js:456:26)

detail_view.coffee 中的行是:

(localStorage.getItem("a_key") isnt null) and (localStorage.getItem("b_key") isnt null)

我尝试通过 npm 安装 localstorage,但没有帮助。IE

$ sudo npm -g install localstorage
npm http GET https://registry.npmjs.org/localstorage
npm http 404 https://registry.npmjs.org/localstorage
localStorage@1.0.2 /usr/local/lib/node_modules/localStorage

$ echo 'export PATH=/usr/local/lib/node_modules/localStorage:$PATH' >> ~/.profile
$ source ~/.profile
$ coffee detail_view.coffee 
ReferenceError: localStorage is not defined
  at isLoggedIn (/Users/me/workspace/hero/html_client/detail_view.coffee:12:18, <js>:5:13)
  at Object.<anonymous> (/Users/me/workspace/hero/html_client/detail_view.coffee:225:4, <js>:144:7)
  at Object.<anonymous> (/Users/me/workspace/hero/html_client/detail_view.coffee:164:4)
  at Module._compile (module.js:456:26)

我错过了什么?

4

1 回答 1

1

localStorage是网络浏览器提供的一项功能。在 node.js 中它不存在。这意味着如果你localStorage在 node.js 运行的脚本中引用你会得到错误。

即使您安装了localStorage您提到的 npm 模块,您也需要要求它才能使用它。

localStorage = require('localStorage')
localStorage.getItem 'a_key'
于 2013-05-20T07:13:52.897 回答