环境: [email protected] [email protected] [email protected] [email protected]Browserify - 变换的package.json的符号链接模块npm3不工作
试图构建与[email protected]
工作的应用程序和[email protected]
,但在升级到[email protected]
和[email protected]
时出现问题。请允许我尝试解释问题。
在
app/node_modules
我已经通过通过npm link
符号链接npm install
和本地模块安装的模块。本地模块已在其
package.json
如指定browserify变换 -
}, "devDependencies": { "babel-preset-es2015": "^6.5.0", "babelify": "^7.2.0" }, "browserify": { "transform": [ [ "babelify", { "presets": [ "es2015" ] } ] ] }
试图建立我得到错误:
"Browserify Error: Couldn't find preset "es2015" relative to directory"
NPM 3已经夷为平地依赖树,所以babel-preset-es2015
的yinkinked模块需要位于app
的node_modules
。根据@substack here的解释和这个例子here browserify应该从符号链接模块走到树上app
并在那里检查node_modules
,但是它似乎没有这样做。
我的目录结构是这样的:
~/projects |-- app |-- entry.js (this file can see babel-preset just fine) |-- node_modules |-- babel-preset-es2015 |-- my-module (symlink pointing at ~/projects/modules-shared/my-module) |-- index.js (we want babelify to transform this file) |-- modules-shared |-- my-module
如果我在modules-shared
文件夹中安装babel-preset-es2015
,browserify找到预设。
你有没有解决你的问题? – Shawn