Node.js传单错误

请帮忙!! 我知道我错过了一些非常简单的东西,但是我对这一切都是陌生的,而且我阅读了很多不同的文章和教程,不知道怎么回事。

我在Ubuntu 14.04上启动一个新项目导航到我想要我的应用程序的文件夹。

这是我采取的步骤:

sudo apt-get install nodejs-legacy sudo npm install express-generator -g (framework) express -e --ejs (Establece el lenguaje ejs como base) https://www.npmjs.com/package/ejs npm install 

运行应用程序DEBUG=myapp:* npm start

然后在浏览器中加载http:// localhost:3000 /来访问应用程序。

 npm install --save leaflet npm install --save leaflet-draw 

到这里一切正常!

在app.js中添加这一行:

 var L = require('leaflet'); 

并得到我粘贴的丑陋错误

 /home/diego/Escritorio/fundacion/node_modules/leaflet/dist/leaflet-src.js:9168 }(window, document)); ^ ReferenceError: window is not defined at Object.<anonymous> (/home/diego/Escritorio/fundacion/node_modules/leaflet/dist/leaflet-src.js:9168:3) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/home/diego/Escritorio/fundacion/app.js:10:9) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) npm ERR! weird error 8 npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian 

这是Leaflet本身的问题。 传单试图加载DOM而不检查它是否可用。 我想你可以通过在你的应用程序中模拟浏览器来加载传单。

 // Create globals so leaflet can load GLOBAL.window = {}; GLOBAL.document = { documentElement: { style: {} }, getElementsByTagName: function() { return []; }, createElement: function() { return {}; } }; GLOBAL.navigator = { userAgent: 'nodejs' }; GLOBAL.L = require('leaflet'); 

你也可以看看这个: 传单 – 无头

看起来像这个模块只适用于浏览器。 它在npm上,这样你就可以使用browserify或webpack来请求它