I have the following typescript files
src/main.ts
function main(): void {
console.log('main');
hello();
}
src/other.ts
console.log('hello world');
}
which generates the following in my Google App Project src/main.gs
var module = module || { exports: exports };
//import {hello} from "./other";
function main() {
console.log('main');
(0, other_1.hello)();
}
src/other.gs
var exports = exports || {};
var module = module || { exports: exports };
exports.hello = void 0;
function hello() {
console.log('hello world');
}
exports.hello = hello;
When I try to run the the main()
function in main.gs
I get the following error:
How can I make imports work in a clasp project?
From //import {hello} from "./other";
and (0, other_1.hello)();
, I'm worried that in this case, the reason for your current issue might be due to that Google Apps Script doesn't support import
yet.
And also, in the case of Google Apps Script, for example, when function hello() {console.log("hello world");}
is put into a script file of other.gs
, this function can be directly called from another script file like main.gs
.
From these points, how about the following modification patterns?
main.ts
function main(): void {
console.log("main");
hello();
}
other.ts
function hello(): void {
console.log("hello world");
}
main
is run, console.log("main")
in main
function and console.log("hello world")
in hello
function are run with the script editor of Google Apps Script.In this pattern, the Class object is used.
main.ts
import { Sample } from "./other";
function main(): void {
console.log("main");
new Sample().hello();
}
other.ts
export class Sample {
public hello(): void {
console.log("hello world");
}
}
main
is run, console.log("main")
in main
function and console.log("hello world")
in hello
function are run with the script editor of Google Apps Script.