【问题标题】:can't require JS files client side客户端不能要求 JS 文件
【发布时间】:2018-10-10 06:10:29
【问题描述】:

我正在尝试学习如何制作 NPM 包,我认为这很容易:使用对象文字创建 JS 文件,导出模块,然后在另一端,让用户需要该文件并使用该对象: objectname.method。问题是我的目标用户将使用我的库来制作 html5 游戏。我没有制作客户端应用程序的经验,并且不真正了解在没有这些方法的情况下如何导入和请求文件。

我将如何做到这一点? 我想我可以像 nodeJS 一样通过 module.exports = {}

创建文件

我正在尝试导出的对象的示例。老实说,我是在开玩笑,所以它可能是完全错误的。

//modEx.js
 module.exports = {
   drawBall: (ctx, x, y, ballRadius) => {
     ctx.beginPath();
    ctx.arc(x, y, ballRadius, 0, Math.PI * 2);
    ctx.fillStyle = "#0095DD";
    ctx.fill();
    ctx.closePath();
  },

  hello: function() {
   return "HELLO";
  }
};

然后我通过尝试在另一个文件中导入/要求并打开带有脚本标签的 html 文件来进行测试。

//example.js
const mod_ex = require("./mod_ex");
console.log('hello',mod_ex.hello); #=> hello, undefined

【问题讨论】:

  • 如果没有检查 Browserify 或 Webpack 的错误,您无法在浏览器中执行此操作。

标签: javascript html npm


【解决方案1】:

似乎您需要将您的库与 Webpack 或任何其他捆绑器捆绑在一起。

【讨论】:

  • 我尝试过学习 webpack,大多数教程都让我头疼,但我现在正在阅读它的文档,我认为我可以管理
【解决方案2】:

要么使用 webpack 或 parcel 或其他捆绑器捆绑 js 文件,要么只使用 <script type="module">,您将能够使用 es6 导入。但支持就像所有浏览器的 80%。

【讨论】:

    猜你喜欢
    • 2016-12-28
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多