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.info(totalCost(19, 31, 1.2));
console.info(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)

Что я должен делать?

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

esqew 20.12.2020 23:25

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

KKK 20.12.2020 23:39

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

esqew 20.12.2020 23:40

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

KKK 21.12.2020 00:05
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Раскрытие чувствительных данных
Раскрытие чувствительных данных
Все внешние компоненты, рассмотренные здесь до сих пор, взаимодействуют с клиентской стороной. Однако, если они подвергаются атаке, они не...
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Руководство ChatGPT по продаже мини JS-файлов
Руководство ChatGPT по продаже мини JS-файлов
JS-файл - это файл, содержащий код JavaScript. JavaScript - это язык программирования, который в основном используется для добавления интерактивности...
1
4
169
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Просто добавьте следующую строку в конец файла `export {добавить, умножить}

'./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}

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

KKK 27.12.2020 00:23

Другие вопросы по теме