Deno -> Как мне запустить коды для запуска без ошибок?

#javascript #typescript #deno

#javascript #typescript #deno

Вопрос:

Я хотел бы импортировать из локального

Среда тестирования Deno v1.6.0

Я пробовал локальный импорт с помощью Deno lang

Локальный каталог

 .
└── src
    └── sample
        ├── hello_world.ts
        ├── httpRequest.ts
        ├── localExport
        │       └── arithmetic.ts
        ├── localImport.ts
 

Файл ‘./localExport/arithmetic.ts’ для импорта

 function add(outbound: number, inbound: number): number {
  return outbound   inbound
}

function multiply(sum: number, tax: number): number {
  return sum * tax
}
 

Файл ‘./localImport.ts’ для запуска

 import { add, multiply } from "./localImport/arithmetic.ts";

function totalCost(outbound: number, inbound: number, tax: number): number {
  return multiply(add(outbound, inbound), tax);
}

console.log(totalCost(19, 31, 1.2));
console.log(totalCost(45, 27, 1.15));
 

Запустите приведенные выше коды

 ❯ deno run src/sample/localImportExport.ts
 

Я получил ошибки:

 ❯ deno run src/sample/localImportExport.ts 
error: Uncaught SyntaxError: The requested module './localImport/arithmetic.ts' does not provide an export named 'add'
import { add, multiply } from "./localImport/arithmetic.ts";
         ~~~
    at <anonymous> (file:///Users/ko-kamenashi/Desktop/Samples/Deno/deno-sample/src/sample/localImportExport.ts:1:10)
 

Что мне делать?

Комментарии:

1. Можете ли вы уточнить, что именно неясно в сообщении об ошибке, которое вы предоставили? Включаемый вами файл не экспортирует ничего вызываемого add , поэтому он выдает ошибку. На этот вопрос невозможно ответить, не увидев источник arithmetic.ts .

2. @esqew Прошу прощения, что забыл коды исходного файла импорта. Я добавил целевые коды.

3. Можете ли вы привести источник, на котором вы основываете свое неявное предположение о том, что вы можете импортировать произвольные функции из внешних файлов, которые не были должным образом export отредактированы? Это именно та проблема, на которую указывает сообщение об ошибке (вы также до сих пор не указали цвет на то, что конкретно вы не понимаете в самом сообщении об ошибке).

4. @esqew Спасибо за ваш совет!. Я решил этот вопрос, добавив ключевое слово export в целевую функцию. « функция экспорта add(исходящий: число, входящий: число): число { возврат исходящего входящего } функция экспорта multiply(сумма: число, налог: число): число { возврат суммы * налог} «

Ответ №1:

Ошибка The requested module './localImport/arithmetic.ts' does not provide an export named 'add' , сообщающая вам, что вы должны использовать export

Просто добавьте следующую строку в конец вашего файла `export {add, multiply}

Файл ‘./localExport/arithmetic.ts’ для импорта

 function add(outbound: number, inbound: number): number {
  return outbound   inbound
}

function multiply(sum: number, tax: number): number {
  return sum * tax
}

export {add, multiply}
 

Комментарии:

1. Спасибо, что научили решению. эта проблема решена.