Я сейчас учусь JS, и это коды из практики. (из YDKJSY)
Это публикация . js
function printDetails(title,author,pubDate) {
console.log(`
Title: ${ title }
By: ${ author }
${ pubDate } `
);
}
export function create(title,author,pubDate) {
var publicAPI = {
print() {
printDetails(title,author,pubDate);
}
};
return publicAPI;
}
И это пост в блоге. js import публикация. js
import { create as createPub } from "publication.js";
function printDetails(pub,URL) {
pub.print(); console.log(URL);
}
export function create(title,author,pubDate,URL) {
var pub = createPub(title,author,pubDate);
var publicAPI = { print() { printDetails(pub,URL);
}
};
return publicAPI;
}
И наконец main. js import blogpost. js
import { create as newBlogPost } from "blogpost.js";
var forAgainstLet = newBlogPost(
"For and against let",
"Kyle Simpson",
"October 27, 2014",
"https://davidwalsh.name/for-and-against-let"
);
Я преобразовал этот код по babel и получил преобразованные коды.
PS C:\users\leepc\babel> 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
но когда я делаю npm run build
и попытался запустить main. js Я получил это,
PS C:\users\leepc\babel\public\lib> node main.js
internal/modules/cjs/loader.js:984
throw err;
^
Error: Cannot find module 'blogpost.js'
Require stack:
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) 3:17)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:117
7: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
_main.js:74:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\users\\leepc\\babel\\public\\lib\\main.js' ]
}
Я проверил, забыл ли я какой-либо взнос.
PS C:\users\leepc\babel> npm ls --depth=0
babel@1.0.0 C:\users\leepc\babel
+-- @babel/core@7.8.4
+-- babel-cli@6.26.0
+-- babel-preset-env@1.7.0
`-- babel-preset-es2015@6.24.1
Lastley, около .babelr c
{
"presets": ["env"]
}
и . json build,
{
...
"build": "babel ./public/src -d ./public/lib -w"
}
Я использовал node.js пресет, но он получал странные ошибки, поэтому я просто ушел, если с "env" .
Извините за грязный и длинный код, но у меня были проблемы с этой проблемой в эти дни и не могу продолжить обучение. Пожалуйста, дайте мне знать, есть ли какая-либо другая информация, которую я должен опубликовать и отредактировать в этом вопросе.
edit: возможно это потому, что я поместил все эти файлы в одну папку? я должен положить их в определенную другую папку? Это изображение папки моего тренировочного проекта