我在Angular2/4的源代码package.json中看到一些未记录的键:

{
  "name": "@angular/platform-browser/animations",
  "typings": "../animations.d.ts",
  "main": "../bundles/platform-browser-animations.umd.js",
  "module": "../@angular/platform-browser/animations.es5.js",
  "es2015": "../@angular/platform-browser/animations.js"
}

特别是“模块”和“ES2015”。我在Angular的包裹里都找到了。我很好奇他们是如何决定是加载“main”、“module s”还是“es2015”,特别是因为它总是加载“module”(而不是“es2015”)。有没有办法强制我的项目使用package.json中的es2015文件?

最佳答案

关于场
typings-类型脚本类型签名
module-根据最初的建议,它应该指向具有ES2015模块语法但只有目标环境支持的语法功能的模块。出于某种原因使用角度.es5es6akaES2015
es2015-未翻译的ES6代码。由角度引入(不知道任何支持它的工具)
有关非官方package.json字段的更多信息,请参见repository
有没有办法强制我的项目使用package.json中的es2015文件?
不确定您使用的是哪种打包机和/或运输机。如果您正在使用webpack,则可以使用resolve.mainFields配置它。

module.exports = {
   resolve: {
       mainFields: ['es2015', 'browser', 'module', 'main'],
   },
   ···
};

关于angular - npm package.json未记录的 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43131060/

10-12 02:38