如何从本地文件夹安装npm模块?

时间:2016-10-16 22:15:43

标签: javascript npm webpack

我从github下载了一个包:list.fuzzysearch.js。将其解压缩到一个文件夹

然后在我的项目文件夹中,按如下方式安装: npm install Path/to/LocalFolder/list.fuzzysearch.js-master -S

当我使用webpack捆绑我的项目js时,我得到了以下错误,这似乎错过了我安装的软件包所需的一些模块。

问题1 :在将此软件包安装到我的项目之前,我是否应首先在下载的软件包文件夹中执行npm install。即:~/local/folder/list.fuzzysearch.js-master$ npm install

问题2 :当我在app.js中导入模块时,如何编写路径?即import module from modulePath , that modulePath`,我应该只将模块名称(例如' react')或者路径发送到node_module文件夹中的js文件(例如' node_module /react/dist/react.js')?

问题3 :有没有办法找出模块的所有传递依赖关系,并在此过程中安装它们?

错误:

ERROR in ./~/list.fuzzysearch.js/index.js
Module not found: Error: Cannot resolve module 'classes' in /home/mypc/IdeaProject/OpenDimSum/frontend/node_modules/list.fuzzysearch.js
 @ ./~/list.fuzzysearch.js/index.js 1:14-32

ERROR in ./~/list.fuzzysearch.js/index.js
Module not found: Error: Cannot resolve module 'extend' in /home/mypc/IdeaProject/OpenDimSum/frontend/node_modules/list.fuzzysearch.js
 @ ./~/list.fuzzysearch.js/index.js 3:13-30

ERROR in ./~/list.fuzzysearch.js/index.js
Module not found: Error: Cannot resolve module 'to-string' in /home/mypc/IdeaProject/OpenDimSum/frontend/node_modules/list.fuzzysearch.js
 @ ./~/list.fuzzysearch.js/index.js 4:15-35

ERROR in ./~/list.fuzzysearch.js/index.js
Module not found: Error: Cannot resolve module 'get-by-class' in /home/mypc/IdeaProject/OpenDimSum/frontend/node_modules/list.fuzzysearch.js
 @ ./~/list.fuzzysearch.js/index.js 5:17-40

我的应用javascript:

require('../../../node_modules/bootstrap/dist/css/bootstrap.css')
require ('../public/styles.css')
require ('../index.html')
import React from 'react'
import {render} from 'react-dom'
import 'list.js'
import 'list.fuzzysearch.js'
require('../../../node_modules/bootstrap/dist/js/bootstrap')

1 个答案:

答案 0 :(得分:1)

看起来您要使用的脚本是npm包,即使它没有发布到npm注册表。这是您可以将它添加到项目中的方式:

  1. "list.fuzzysearch": "javve/list.fuzzysearch.js"
  2. dependencies下添加package.json 像往常一样
  3. npm install
  4. import fuzzysearch from 'list.fuzzysearch'
  5. ???
  6. PROFIT !!!
  7. 对于可以从中安装软件包的位置,npm客户端非常灵活。这是相关的documentation