在开始使用新的离子应用程序之后,我可以在bower.json
处看到带有离子的devdependencies
。devdependency
。为什么它是dependency
而不是正常"devDependencies": {
"ionic": "driftyco/ionic-bower#1.0.0-rc.0"
},
?
{{1}}
谢谢,我现在感到困惑
答案 0 :(得分:2)
拥有 devDependencies 让您有机会简化从源文件(项目的git克隆)到生产就绪应用程序的驱动您的步骤
当您不需要进行更改和(开发)应用程序时,您可以运行
bower install --production
或
npm install --production
他们的工作方式相同
-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
默认情况下,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
选项