«Не удается найти ошибку модуля» после того, как я использовал babel для преобразования моего кода JS (проблема по-прежнему возникает даже после хорошего преобразования файлов) - PullRequest
0 голосов
/ 18 февраля 2020

Поэтому я попытался использовать Babel для преобразования своего кода, чтобы я мог запустить его по узлу. пакет. json это сборка,

"build": "babel ./public/src -d ./public/lib -w"

Когда я делаю npm run build

PS C:\users\leepc\babel\public> npm run build

> babel@1.0.0 build C:\users\leepc\babel
> babel ./public/src -d ./public/lib -w

public\src\blogpost.js -> public\lib\blogpost.js
public\src\main.js -> public\lib\main.js
public\src\publication.js -> public\lib\publication.js

Это работает правильно и показывает мне именно то, что я хочу. Моя .babelr c предустановка es2015 Я запускаю свой main. js код, и это происходит.

PS C:\users\leepc\babel\public\lib> node main.js
internal/modules/cjs/loader.js:984
  throw err;
  ^
    at Function.Module._load 
(internal/modules/cjs/loader.js:863:27) 
    at Module.require 
(internal/modules/cjs/loader.js:1043:19)       
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> 
(C:\users\leepc\babel\public\lib\main.js:3:17)       
    at Module._compile 
(internal/modules/cjs/loader.js:1157:30)      17)       
    at Object.Module._extensions..js 
(internal/modules/cjs/loader.js:1177:     
10)                                                                            
    at Module.load (internal/modules/cjs/loader.js:1001:32)                    
    at Function.Module._load 
(internal/modules/cjs/loader.js:900:14)           
    at Function.executeUserEntryPoint [as runMain] 
(internal/modules/run_m     
ain.js:74:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 
'C:\\users\\leepc\\babel\\public\\lib\\main.js' ]  
}

Это список файлов и папок в img

Мои коды хорошо защищены, но все еще возникают некоторые проблемы с модулем. Как я могу решить эту проблему? Извините, это мой первый раз вопрос на этом сайте, если я пропустил некоторую информацию, пожалуйста, скажите мне.

edit:

Вот .babelr c

{
    "presets": ["es2015"]
  }

1 Ответ

0 голосов
/ 19 февраля 2020

Хорошо, получается, я должен объединить оба ответа выше.

Сначала я должен проверить, является ли мой плагин импорта правильным или неправильным. Так что я просто переустановил его.

npm install babel-plugin-import --save-dev

Убедитесь, что не забыли поставить опции плагина. В моих случаях я использую это в .babelr c

{
    "presets": ["es2015"],
    "plugins": [["import", { "libraryName": "antd" }]]
}

эта строка "plugins": [["import", { "libraryName": "antd" }] означает импорт js modulary.

А также следующие вещи, я должен сделать импорт исправляемый путь.

import { create as newBlogPost } from "blogpost.js"; 

измените его на

import { create as newBlogPost } from "./blogpost.js"; 

Теперь я могу получить желаемый результат.

PS C:\Users\leePC\babel\public\lib> node main.js

    Title: For and against let 
    By: Kyle Simpson 
    October 27, 2014

В основном: 1. Проверьте, не пропустил ли я некоторые плагины или пакеты (в моих случаях я забыл импортировать пакет) 2. Обязательно проверьте ваш путь импорта

Спасибо за помощь, ребята.

...