zoukankan      html  css  js  c++  java
  • node.js从全局目录里加载module

    首先,有这个需求也是为了本地开发方便,每新建一个项目都要npm一堆包,虽然一个package.json文件就能搞定,但确实没必要频繁下载,虽然node官方不建议这么做“你就这么缺少硬盘空间么?”~~~总之有需求就要实现嘛

    普通的npm会安装到当前目录,加上—global参数(简写为-g)就会安装到默认的全局目录,至于Node和npm的默认目录是哪些,建议阅读这篇文章,对于win7,8用户言,现在是默认装到Program Files\nodejs下, npm 的 repo在 %USERPROFILE%\AppData\Roaming\npm 且会自动加到系统PATH下。

    如此这般,测试

    npm install mongodb -g

    node

    >var mongo = require(‘mongodb’)

    结果却报找不到moudle,怎么回事,在指定目录下确实找到了node_moudles/mongodb,于是干脆找了一下官方文档,没有什么建设性意见,当然上面这篇文档建议通读一下,非常好地讲解了moudule加载的规则以及require的用法。

    仍然是在stackoverflow找到了答案,把上述npm的全局repo自己写到NODE_PATH目录里去,这也是官方文档说的,只是node的msi包自己添加了两个path,却没有自动添加node_path。即NODE_PATH=%USERPROFILE%\AppData\Roaming\npm\node_modules

    其实我当时自己也试过,但是不知道什么原因就是不成功,后来我把命令行窗口关了重开才生效,这有关系么?

  • 相关阅读:
    MyEclipse编码集设置
    Tomcat内存溢出问题解决
    避免头文件多次编译
    C++指针学习(1)
    C++头文件和实现(用复数类举例)
    从helloworld开始
    标准库string类型
    浅谈Lua的Coroutine协程的多"线程"并发模型
    关于闭包函数的概念和原理
    笔记
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3001001.html
Copyright © 2011-2022 走看看