我有兩個使用webpack作爲模塊打包器和打字稿的Angular2項目。瞭解Angular 2 webpack項目中的源代碼符號鏈接
爲了共享代碼,我拆分了一些源代碼,併爲這兩個項目中的每一個的這個「外部」源代碼創建了一個符號鏈接。
完成此操作後,「符號鏈接代碼」無法正確解析導入。
低於「hello world」項目以顯示我的顧慮。
https://github.com/datracka/angular2-symlink-issue
該項目運行直線前進,但如果你刪除給定src
文件夾,並創建一個符號鏈接到具有相同的源代碼中的另一個src
文件夾,但位於/another/path/src
,那麼你得到一個編譯錯誤:
ERROR in .-shared/src/main.ts
Module build failed: TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.dirname (path.js:1326:5)
at ensureTypeScriptInstance (/Users/vicensfayos/Projects/angular2-whatafuck/node_modules/ts-loader/index.js:156:103)
at Object.loader (/Users/vicensfayos/Projects/angular2-whatafuck/node_modules/ts-loader/index.js:403:14)
所以我的問題是:當我將源代碼「分發」到項目文件夾本身的另一個文件夾中時,我缺少符號鏈接?
我的猜測是關於在webpack中配置正確解析對象以覆蓋node.js加載node_modules算法https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders但不是運氣。
希望有人能指出我的方向。