![](/img/trans.png)
[英]Why use `yarn link`? Why not just symlink in node_modules?
[英]node_modules: symlink or not to symlink?
在他看來,我的同事想出了一個好主意。 他不喜歡包含許多點點出現(超過 2 或 3 個)的路徑。 他的想法如下:使用 postinstall 命令創建指向 node_modules 中感興趣的模塊的符號鏈接。 這樣你就可以要求需要的模塊是這樣的:
var some_module = require('some_module')
代替
var some_module = require('../../../another/branch/some_module')
對我來說,這似乎是一個骯臟的黑客。 我看到的一個缺點是可能與內置模塊和 npm 模塊發生沖突。 但這可能是小問題。
我提出了另一種解決方案 - 創建單獨的模塊來注冊感興趣的模塊並通過它引用它們:
// a/branch/some_module.js
module.exports = 5
require('register')('some_module', module.exports)
// another/branch/interested_module.js
var some_module = require('register')('some_module') // 5
老實說,這兩種解決方案看起來都很丑陋。
那么,問題來了,解決deep deps問題的正確方法是什么?
我們使用node-app-root-path來要求本地模塊。
例如:
var appRoot = require('app-root-path');
var myModule = require(appRoot + '/lib/my-module.js');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.