【问题标题】:Migrate Ember app from bower to npm将 Ember 应用程序从 bower 迁移到 npm
【发布时间】:2018-03-10 08:59:07
【问题描述】:

据我了解,Ember 团队建议将应用程序从 bower 迁移到 npm,但我无法找到明确的迁移计划。有人有成功的迁移经验吗?您能否分享您的经验或提供一些有用的链接以及详细说明。谢谢。

这是我当前的 bower.json 文件:

 {
  "name": "...",
  "dependencies": {
    "jquery": "1.11.3",
    "ember": "^2.14.0",
    "bootstrap-sass-official": "3.3.5",
    "inputmask": "~3.3.6",
    "bootstrap-star-rating": "~3.5.2",
    "font-awesome": "~4.5.0",
    "pubnub": "3.15.2",
    "bootstrap-switch": "^3.3.2",
    "soundmanager2": "*",
    "lodash": "^2.4.0",
    "mixpanel": "~2.7.1",
    "slick-carousel": "1.5.8",
    "seiyria-bootstrap-slider": "~6.0.6"
  },
  "resolutions": {
    "jquery": "1.11.3",
    "ember": "2.14.0"
  }
}

【问题讨论】:

  • 这取决于你的依赖。 Ember 本身不再需要凉亭。但你不必为此做太多事情。只需使用ember init
  • 这是一个 Ember CLI 应用程序吗?您是否尝试过emberjs.com/blog/2017/01/23/…github.com/ember-cli/ember-cli/releases/tag/v2.11.0 的说明?
  • 是的,这是 ember cli 应用程序 2.14。我想获得关于如何将我现有的 Bower 依赖项从 bower.json 迁移到 npm project.json 文件并最终删除 bower.json 的明确说明。

标签: ember.js npm bower


【解决方案1】:

要从 npm 切换到 Ember,您需要在您的 package.json 文件中包含 ember-source,如下所示:https://github.com/ember-cli/ember-new-output/blob/f98da31d2299050773c98e01b1019437cd323391/package.json

您不再需要 bower.json 文件,因此其中唯一的内容应该是您尚未迁移到 npm 等效项的 addoms ...

【讨论】:

  • 我目前在我的 ember-cli-build.js 中有几个导入,例如: ... app.import('bower_components/bootstrap-star-rating/js/star-rating.js'); app.import('bower_components/bootstrap-star-rating/css/star-rating.css'); app.import('bower_components/pubnub/web/dist/pubnub.js'); app.import('bower_components/soundmanager2/script/soundmanager2.js'); app.import('bower_components/soundmanager2/swf/soundmanager2.swf', {destDir: 'swf'}); ...我是否正确理解您,您建议我为我目前拥有并在 ember-cli-build.js 中使用的所有 Bower 包查找插件?
  • 是的。 Ember 的长期发展轨迹是移除 Bower 的使用,因为在使用 Bower 库时很难进行 tree-shaking 和其他高级构建步骤。这还不是必需的,但如果在某些时候更明确地不鼓励使用 Bower,我不会感到惊讶。最受欢迎的插件已经在忙着消除对它的需求......
  • 好的,谢谢你的建议。如果他们目前使用的 bower 包没有插件,您能否建议开发人员应该怎么做?如何添加到我目前与 bower 一起使用的 vendor.css 和 vendor.js 样式和脚本。如何将某些 swf 文件(如 soundmanager2‌​.swf)移至 dest 文件夹?我问是因为我目前无法将 import() 与 node_modules 文件夹一起使用。
  • 看看ember-cli.com/asset-compilation;它应该回答你的一些问题。
  • 在现已发布的 Ember-CLI 2.15 版本中,可以从 node_modules 文件夹 (emberjs.com/blog/2017/09/01/…) 执行 app.import()。更多细节在这里:github.com/ember-cli/ember-cli/pull/7045
猜你喜欢
  • 2018-09-17
  • 2018-04-29
  • 2018-07-03
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多