我在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
模块语法但只有目标环境支持的语法功能的模块。出于某种原因使用角度.es5
不es6
akaES2015
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/