Сделайте функцию доступной для скрипта приложения Google, из модуля webpack - PullRequest
1 голос
/ 17 мая 2019

Я использую webpack с gas-webpack-plugin для переноса моего машинописного кода в JS, чтобы его можно было использовать в code.gs (основной файл GAS). Но когда функции webpack упорядочивают функции в файле ввода, они больше не доступны для Google App Script.

Я пытался использовать gas-webpack-plugin, чтобы сделать эту функцию доступной для GAS, но безуспешно. https://github.com/fossamagna/gas-webpack-plugin

вот мой webpack.config.js

var path = require('path');
var GasPlugin = require('gas-webpack-plugin');

module.exports = env => {

return {
    context: __dirname,
    mode: 'production',
    entry: './main/Code.ts',
    optimization: {
        minimize: false
    },
    module: {
        rules: [
            {
                test: /\.ts$/,
                use: 'ts-loader',
                exclude: /node_modules/
            },
        ]
    },
    resolve: {
        extensions: ['.ts', '.js']
    },
    output: {
        filename: 'Code.js',
        path: path.resolve(__dirname, 'build/gs'),
    },
    plugins: [
        new GasPlugin()
    ]
};

};

Я экспортирую функции в моем файле ввода, как это

export function onOpen(){
    console.log('not working...');
}

export function testFunc(){
    console.log('not working...');
}

1 Ответ

0 голосов
/ 22 мая 2019

Чтобы GAS-webpack-plugin мог добавить объявление функций верхнего уровня, мы должны назначить функции глобальному объекту Node.js следующим образом.чего не хваталопоэтому мой файл Entry становится

с

export function onOpen(){
    console.log('not working...');
}

export function testFunc(){
    console.log('not working...');
}

до

function onOpen(){
    console.log('not working...');
}

export function testFunc(){
    console.log('not working...');
}

global.onOpen = onOpen;
global.testFunc= testFunc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...