#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. Спасибо, что научили решению. эта проблема решена.