使用离子管理bower依赖关系

时间:2015-03-11 08:40:47

标签: ionic-framework bower ionic bower-install

在开始使用新的离子应用程序之后,我可以在bower.json处看到带有离子的devdependenciesdevdependency。为什么它是dependency而不是正常"devDependencies": { "ionic": "driftyco/ionic-bower#1.0.0-rc.0" },

{{1}}

谢谢,我现在感到困惑

2 个答案:

答案 0 :(得分:2)

拥有 devDependencies 让您有机会简化从源文件(项目的git克隆)到生产就绪应用程序的驱动您的步骤

当您不需要进行更改和(开发)应用程序时,您可以运行

bower install --production

npm install --production

他们的工作方式相同

bower安装选项

-F, --force-latest: Force latest version on conflict

-p, --production: Do not install project devDependencies

-S, --save: Save installed packages into the project’s bower.json dependencies

-D, --save-dev: Save installed packages into the project’s bower.json devDependencies

-E, --save-exact: Configure installed packages with an exact version rather than semver

bower documentation

npm安装选项

  

默认情况下,npm install将安装列出的所有模块   依赖。使用--production标志(或当NODE_ENV   环境变量设置为生产),npm不会安装   devDependencies中列出的模块。   npm documentation

这样您就可以减少发布应用的时间,而不会浪费带宽下载您不需要的内容。

鉴于此,对我而言,将离子列为devDependecy的选择很糟糕:这意味着我可以利用这个选择来准备应用程序以便这样执行:

git clone my-project
git cd my-project
npm install --production # ionic not installed here
ionic state restore
ionic build ios

现在,如果您忽略源中/ lib文件夹的内容,这应该不起作用,如果它起作用,因为ionic-cli会进行更多检查来保存你的屁股,我认为这还不清楚。

答案 1 :(得分:0)

根据我的理解,dependencies需要运行,devDependencies仅用于开发,如缩小,单元测试等。

两者都将在您执行npm install时安装,但只有dependencies才会安装npm install $package,除非您添加--dev选项