我目前正在使用Snowpack来构建/准备一个应用程序。我正在尝试导入我作为dependencies (块)的一部分安装在package.json文件中的JavaScript库,但不知何故Snowpack无法获取该库。
这是package.json文件(包含相关内容的摘录):
{
"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只包含以下几行:
/** @type {import("snowpack").SnowpackUserConfig } */
export default {
devOptions: {
open: "none",
},
mount: {
src: {
url: "/",
},
},
};我原以为Snowpack会将impress.js库与以下HTML文件捆绑在一起:
<!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?
发布于 2021-05-12 05:19:43
如果有人遇到类似的情况,我找到的捆绑Impress.js (可能还有其他任何模块化的库)的方法是在JavaScript文件中import它(注意HTML script标记中的type="module" ):
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
<script src="scripts/global.js" type="module"></script>
</body>
</html>import "impress.js";
impress(); // ...bootstraps/initializes Impress.js发布于 2021-05-12 03:41:39
如果您只是想将Impress模块转换为ESM,您是否考虑过尝试使用esinstall?
即
convert.mjs:
import {install} from 'esinstall';
await install(['impress.js'], {});node convert.mjs然后在您的HTML文件中:
<script src="web_modules/impress.js"></script>https://stackoverflow.com/questions/67362561
复制相似问题