首页 > 解决方案 > 没有 nodejs 的导入模块 - vanillaJS

问题描述

我正在使用我发现的最新最佳实践来更新我对 VanillaJS 的旧知识和低知识。我最近做了一篇关于 NodeJS 的教程,它用 ExpressJs 做 API REST 和一个用 Socket IO 做的。现在我想在去 REACTJS 之前练习一下。所以我开始了一个小项目,我在没有 NodeJs 的情况下做一个 - 只是 JS 到 HTML 视图中 - 使用 Objects。我想使用 Npm 的模块。我想尝试 Fakerjs,但是当我想导入它时,我有一个 403。路径是正确的,没有错误。

所以我想知道在做 VanillaJs 时是否可以在没有 Nodejs 的情况下导入模块?我做错了吗?

项目的结构是:

 js/
   main.js
   class/
 node_modules/
 index.html

主.js:

'use strict'
//Importation of modules
import faker from '../node_modules/faker'

//Importation of Class Folder
import { Crypto } from "./class/crypto.class.js";
console.log(faker);
faker.locale = 'en_US';

我在控制台中有这个错误: GET http://crypto-market-js.local:8282/node_modules/faker/ net::ERR_ABORTED 403 (Forbidden)

如果我写:从'faker'导入faker(就像node js,但它是一个要求)我有这个:未捕获的TypeError:无法解析模块说明符“faker”。相对引用必须以 "/"、"./" 或 "../" 开头

如果你能帮我解决这个问题,请:)

标签: javascriptmodule

解决方案


没有 NodeJS不支持尝试导入,因为它require是特定于节点的功能。当尝试将模块导入 Vanilla JS 时,我的建议是首先使用html 标签链接到脚本,然后添加另一个脚本require<script>import faker from 'faker'

希望能澄清你的问题。


推荐阅读