Проблемы с конечными точками в Webpack и GoogleApis
Я пытаюсь использовать googleapis в проекте веб-пакета. Всякий раз, когда я призываю
static getApi = () => {
google.sheets('v4');
}
Я получаю следующее Error: Unable to load endpoint ../apis/sheets("v4"): Cannot find module "."
Исходя из строки 50 googleapis/lib/googleapis.js
что в основном var Endpoint = require(endpointPath);
,
Я попытался заглянуть в endpointPath, но он оказался правильным: node_modules/googleapis/apis/sheets/v4
Мой webpack.config.js представлен ниже:
module.exports = {
entry: ['babel-polyfill','./src/index.js'],
target: 'async-node', // Improved performance in node version 6+
node: {
__dirname: true
},
output: {
filename: './dist/bundle.js',
libraryTarget: 'commonjs2'
},
module: {
rules: [
{
test: /\.(graphql|gql)$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader'
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['env'],
plugins: [require('babel-plugin-transform-class-properties')]
}
}
}
]
},
devtool: 'source-map'
}
Удаление
node: {
__dirname: true
},
приводит к получению ENOENT: no such file or directory, scandir '/apis'
из строки 62 вышеупомянутого googleapis.js
1 ответ
Согласно этому комментарию к проблеме github, клиент узла googleapis должен быть исключен из любого механизма связывания на стороне сервера.
googleapis (google-api-nodejs-client) будет работать в Node.js. Исключение googleapis из любого комплекта на стороне сервера (просто позвольте модульной системе Node загрузить его для вас) - лучший вариант.