我有这个新的Ember项目,并且我通过npm install googleapis --save-dev
安装了Google节点sdk。然后,我安装了ember-cli-es6-transform
,希望从google api节点客户端导入es6模块。
但是我发现./node_modules/googleapis
中有一个build/src
文件夹,而不是src
文件夹。在Github repo中,它只是一个src
文件夹。为什么是这样?这导致我在使用ember-cli-es6-transform
时导入变得不灵便。
这就是我的devDependencies中的全部内容
"devDependencies": {
"broccoli-asset-rev": "^2.4.5",
"ember-ajax": "^3.0.0",
"ember-cli": "~3.1.4",
"ember-cli-app-version": "^3.0.0",
"ember-cli-babel": "^6.6.0",
"ember-cli-dependency-checker": "^2.0.0",
"ember-cli-es6-transform": "^1.0.0",
"ember-cli-eslint": "^4.2.1",
"ember-cli-htmlbars": "^2.0.1",
"ember-cli-htmlbars-inline-precompile": "^1.0.0",
"ember-cli-inject-live-reload": "^1.4.1",
"ember-cli-qunit": "^4.1.1",
"ember-cli-sass": "^10.0.1",
"ember-cli-shims": "^1.2.0",
"ember-cli-sri": "^2.1.0",
"ember-cli-uglify": "^2.0.0",
"ember-data": "~3.1.0",
"ember-export-application-global": "^2.0.0",
"ember-load-initializers": "^1.0.0",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-resolver": "^4.0.0",
"ember-source": "~3.1.0",
"ember-welcome-page": "^3.0.0",
"eslint-plugin-ember": "^5.0.0",
"googleapis": "^40.0.1",
"loader.js": "^4.2.3",
"sass": "^1.22.2"
},
答案 0 :(得分:3)
npm不需要存储库将其主文件放在任何特定位置或将其命名为index.js。建议您查看存储库的package.json,并使用“主”键下列出的路径和文件。
看到它googleapis选择先将其源代码放到npm上,以使我们更易于使用,因此选择build / src目录。
有关package.json中“主”键的更多信息,请参见https://docs.npmjs.com/files/package.json#main
请注意ember-cli-es6-transform允许您指定任何路径,因此只需输入正确的路径作为参数即可。
app.import('node_modules/googleapis/build/src/index.js', {
using: [
{ transformation: 'es6', as: 'googleapis' }
]
});