Ionic 1.x - 从凉亭到 npm

Posted

技术标签:

【中文标题】Ionic 1.x - 从凉亭到 npm【英文标题】:Ionic 1.x - from bower to npm 【发布时间】:2017-04-08 02:17:06 【问题描述】:

我曾经在我的 ionic 1 项目中使用 bower 安装插件。新趋势,尤其是 ionic 2,是使用 npm 安装软件包。 bower 不再提供一些核心包,例如 ionic.cloud,即使是 ionic 1.x。

所以我需要将一些包迁移到 npm。推荐的方法是什么?

我的问题:

“npm install”似乎在“my_project/node_modules”文件夹中安装包,不像bower直接在my_project/www/lib/中安装包

正如installation guide of ionic.cloud 中所解释的,这需要一个额外的步骤来使用以下命令将新安装的 npm 包复制到 lib 文件夹中:

cp node_modules/@ionic/cloud/dist/bundle/ionic.cloud.min.js www/lib

但是,当我更新包并运行“npm update”时,这将更新 node_modules 文件夹,而不是 lib 文件夹。这是一个问题,因为只有我的 lib 文件夹中的文件包含在我的 index.html 中。

在每次 npm 更新后运行 cp 命令似乎不是一个优雅的解决方案。处理此问题的推荐方法是什么?

【问题讨论】:

我目前处理这个问题的方式是在我的 npm 文件夹 (node_modules/myPackage) 和我的 www/lib 文件夹之间创建一个符号链接。这是迄今为止我发现的不太糟糕的解决方案,但还不是最优的,因为我们需要为每个新包创建一个符号链接并且不要忘记它的依赖关系。 【参考方案1】:

我认为您可以反转这一点,使.bowerrc 文件在node_modules 文件夹中创建您的包,并使用此路径作为默认路径。否则node_modules 是强制性的,无法创建它。 即使你可以npm i --prefix ./bower_components/ <package>,你仍然需要cp 到从bower_components 文件夹向上的文件夹

【讨论】:

以上是关于Ionic 1.x - 从凉亭到 npm的主要内容,如果未能解决你的问题,请参考以下文章

无法将凉亭组件 css 添加到 Rails 4.2 中的资产管道中

heroku上的咕噜声和凉亭

凉亭注册新版本

如何将凉亭组件与sails.js 连接?

从私人 gitlab 存储库的 Bower 存储库安装

代理背后的凉亭 - 摘要