我在让这个包工作时遇到了困难.我已经创建了一个基本的P5 JS项目,但我无法让导入在我的JS文件中工作.

这是我的JS文件,它在浏览器中运行良好,直到我在顶部添加导入行.

import { createNoise2D } from "simplex-noise";

function setup() {
createCanvas(400, 400);
noLoop();
}

function draw() {
background(220);
}

我通过将"type" : "module",行添加到我的Package.json中并将type="module"添加到我的JS文件的html脚本标签中来修复了最初的错误.这就是我留下的错误

100

有什么 idea 吗?我完全迷路了

推荐答案

以下是初学者的快速浏览器草图.

<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.3/p5.js"></script>
<script type="module">
import {createNoise2D} from "https://unpkg.com/simplex-noise@4.0.1/dist/esm/simplex-noise.js";

const noise2d = createNoise2D();

new p5(p => {
  p.frameRate(2);

  p.draw = () => {
    p.print(noise2d(p.frameCount, p.frameCount));
  };
});
</script>

node 方法在一定程度上取决于您拥有的构建设置.如果导入失败,请确保安装包含npm i simplex-noise的包.

以下是您可以使用的简单、完整的包裹设置:

src/index.js:

import p5 from "p5";
import {createNoise2D} from "simplex-noise";

const noise2d = createNoise2D();

new p5(p => {
  p.frameRate(2);

  p.draw = () => {
    p.print(noise2d(p.frameCount, p.frameCount));
  };
});

SRC/index.html:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>My First Parcel App</title>
    <script src="./index.js" type="module"></script>
  </head>
  <body>
  </body>
</html>

package.json:

{
  "dependencies": {
    "p5": "^1.9.3",
    "simplex-noise": "^4.0.1"
  },
  "devDependencies": {
    "parcel": "^2.12.0"
  }
}

运行:

$ npm i
$ npx parcel src/index.html
Server running at http://localhost:1234
✨ Built in 4ms

您应该在http://localhost:1234上看到该应用程序.打开控制台以查看噪音.

WebpackVite的代码不应该有显着差异,即使有的话--只是更多的配置文件.

Javascript相关问答推荐

JavaScript Date对象在UTC中设置为午夜时显示不正确的日期

GrapeJS -如何保存和加载自定义页面

docx.js:如何在客户端使用文档修补程序

在这种情况下,如何 for each 元素添加id?

Spring boot JSON解析错误:意外字符错误

colored颜色 检测JS,平均图像 colored颜色 检测JS

我的服务工作器没有连接到我的Chrome扩展中的内容脚本.我该怎么解决这个问题?

在Three JS中看不到补间不透明度更改效果

如何将react—flanet map添加到remixjs应用程序

在forEach循环中获取目标而不是父对象的属性

如何在Angular拖放组件中同步数组?

如何将zoom 变换应用到我的d3力有向图?

邮箱密码重置链接不适用于已部署的React应用程序

Jexl to LowerCase()和Replace()

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

P5.js中矩形内的圆弧

Promise.race()返回已解析的promise ,而不是第一个被拒绝的promise

如何在Highlihte.js代码区旁边添加行号?

使用Perl Selify::Remote::Driver执行Java脚本时出错

如何将对象推送到firestore数组?