首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snowpack无法从node_modules导入JavaScript

Snowpack无法从node_modules导入JavaScript
EN

Stack Overflow用户
提问于 2021-05-03 09:31:23
回答 2查看 366关注 0票数 1

我目前正在使用Snowpack来构建/准备一个应用程序。我正在尝试导入我作为dependencies (块)的一部分安装在package.json文件中的JavaScript库,但不知何故Snowpack无法获取该库。

这是package.json文件(包含相关内容的摘录):

代码语言:javascript
复制
{
  "private": true,
  "type": "module",
  "scripts": {
    "build": "snowpack build",
    "preview": "snowpack dev"
  },
  "dependencies": {
    "impress.js": "1.1.0"
  },
  "devDependencies": {
    "snowpack": "3.3.7"
  },
  "engines": {
    "node": "14.x"
  }
}

snowpack.config.js只包含以下几行:

代码语言:javascript
复制
/** @type {import("snowpack").SnowpackUserConfig } */
export default {
  devOptions: {
    open: "none",
  },
  mount: {
    src: {
      url: "/",
    },
  },
};

我原以为Snowpack会将impress.js库与以下HTML文件捆绑在一起:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    ...
  </head>
  <body>
    <script src="node_modules/impress.js/js/impress.min.js"></script>
    <script src="scripts/global.js" type="module"></script>
  </body>
</html>

有没有办法为这类东西配置Snowpack?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-12 05:19:43

如果有人遇到类似的情况,我找到的捆绑Impress.js (可能还有其他任何模块化的库)的方法是在JavaScript文件中import它(注意HTML script标记中的type="module" ):

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    ...
  </head>
  <body>
    <script src="scripts/global.js" type="module"></script>
  </body>
</html>
代码语言:javascript
复制
import "impress.js";

impress(); // ...bootstraps/initializes Impress.js
票数 1
EN

Stack Overflow用户

发布于 2021-05-12 03:41:39

如果您只是想将Impress模块转换为ESM,您是否考虑过尝试使用esinstall

convert.mjs:

代码语言:javascript
复制
import {install} from 'esinstall';
await install(['impress.js'], {});
代码语言:javascript
复制
node convert.mjs

然后在您的HTML文件中:

代码语言:javascript
复制
 <script src="web_modules/impress.js"></script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67362561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档