如何执行位于符号链接目录内的脚本?

时间:2018-05-22 23:37:00

标签: javascript node.js symlink

我有两个目录结构: 第一个是我的utils项目,就像这样

mock-utils:   
   app-mock (symlinked to app-mock)
   common
       utils.js
   node_modules
   package.json
   package-lock.json

我还有另一个是本地某处的app-mock,

app-mock:
  tests
      test.js

test.js包含以下导入,执行的入口点在mock-utils中,因为package.json位于那里:

var mocha = require('mocha');
var shield = require(‘../../common/utils.js’)

但是,从test.js执行mock-utils会出错 Error: Cannot find module

最初,app-mock位于mock-utils内,但必须为git分隔。如何调整它以便在保留这种结构的同时执行test.js

1 个答案:

答案 0 :(得分:0)

您可以在此处找到解决方案: Installing a local module using npm?

请注意,由于最近的NPM更新,您可能需要删除package-lock.json文件才能生效。避免在开发过程中运行npm install,因为这将重新创建package-lock.json文件,npm将尝试用您的当前设置替换您的符号链接包,根据我的理解,将抛出一个包没找到例外。