这可能是一个愚蠢的问题,但不知何故我找不到解决方案。
我使用在许多项目中使用的实用程序创建了一个nodejs库,我们将其称为foo
。该库使用在package.json中声明的模块,如下所示:
"dependencies": {
"jquery": "^3.2.1",
"moment": "^2.18.1",
"underscore": "^1.8.3",
"utf8": "^2.1.2"
},
然后我有一个ionic3应用程序(假设它名为bar
),我想在其中使用该库,因此在bar
的{{1}}中,我声明:{{1 }}
问题是,当我尝试在浏览器中打开我的应用程序时,收到以下消息:
package.json
由于在"foo": "../foo",
的package.json中声明了这些消息,因此没有关于jquery,moment或下划线的错误消息。这使我认为也许webpack在构建时无法找到位于 Error: Cannot find module "utf8" someScriptLocatedInFoo.js:1:26
webpackMissingModule someScriptLocatedInFoo.js:1
1259 someScriptLocatedInFoo.js:1
Bootstrap11Webpack
中的模块bar
。
我唯一能解决这个问题的方法是在utf8
中手动安装node_modules/foo/node_modules/utf8
的依赖项,但这没有任何意义,我不能指望有人使用我的库创建为手动安装它依赖的所有模块。还是有一种方法可以在运行foo
的{{1}}的{{1}}模块中声明以要求npm安装在bar
的{{1}}目录中? (无需如luchaos回答here中所述手动决定使用旧版捆绑软件。)