【问题标题】:Import library jqGrid wih Meteor (NPM)使用 Meteor (NPM) 导入库 jqGrid
【发布时间】:2017-10-22 07:04:00
【问题描述】:

我使用 Meteor 执行一个项目,我想使用 free-jqgrid

但是我不知道如何正确导入这个库...

我试过了:

  • import 'free-jqgrid';
  • import jqGrid from 'free-jqgrid';
  • import 'free-jqgrid/js/jquery.jqgrid.min';

在我的代码中,我使用 qGrid 像这样“入门”:

angular.element('#grid').jqGrid({
    colModel: [
// ...

我在客户端收到此错误: Error: angular.element(...).jqGrid is not a function

有什么想法吗? :-)

非常感谢。

【问题讨论】:

  • 您能更准确地描述一下您的工作吗?现在没有发布版本的 Web 浏览器支持 import 的模块。现在可以在网络浏览器的初步版本中进行一些测试(请参阅here),但我想你不这样做。我想你使用 Systemjs、webpack 或其他类似 JavaScript 预处理器的产品。必须使用产品的配置来配置模块映射。 The demo 是使用 SystemJs 的一个例子。
  • 一般情况下,你应该使用meteor npm install free-jqgrid将npm包添加到meteor项目中,然后该库将在你的应用程序的package.json文件中列出。但是在这种情况下,即使这个包被添加到node_moduels 文件夹中,它也没有在package.json 文件中列出。你可以试试import * as jqGrid from free-jqgrid 看看是否适合你。
  • 感谢@Oleg 和@Sudheer 的回复。 @Sudheer,这个包已经为我列在 package.json 中:"free-jqgrid": "^4.14.0",。使用您的解决方案,变量 jqGrid 是一个空对象。对于import jqGrid from 'free-jqgrid';,jqGrid 变量等于function require<.node_modules["free-jqgrid"].js["jquery.jqgrid.src.js"]</</module.exports()。我迷失了导入 jqGrid 的最佳方法以及如何使用$('table').jqGrid()...而没有错误.jqGrid is not a function。 ://
  • 您应提供演示问题的演示。我重申将import jqGrid from 'free-jqgrid' 替换为function require<.node_modules["free-jqgrid"].js["jquery.jqgrid.src.j‌​s"]</</module.export‌​s() 不是JavaScript 的一部分。您直接或间接使用 SystemJs 之类的模块,您应该在相应的 js 文件的路径中添加配置(例如,参见 here),该配置描述了 import 中使用的包的逻辑名称。
  • 我在你的解释下尝试了一些东西,但没办法......Here 一个简单的 Meteor 项目,free-jqgrid 向你展示了这个问题。谢谢:-)

标签: javascript node.js meteor npm jqgrid


【解决方案1】:

对不起,我自己不使用 Meteor。此外,我使用 requireJs 或 SystemJs 而不是 CommonJS 模块。可能是 free-jqgrid 目前作为 CommonJS 模块在使用中存在一些问题。

尽管如此,我还是安装了 Meteor 环境并进行了一些测试。因此,我可以建议您以下解决方法。你可以插入行

jqGrid(window,$);

紧接着

import jqGrid from 'free-jqgrid';

或之后

import jqGrid from 'free-jqgrid/js/jquery.jqgrid.src';

如果您更喜欢使用非最小化的 jqGrid 源。

您不应该忘记导入/包含 jQuery UI CSS 或 Bootstrap CSS 以及导入 free-jqgrid CSS:

import 'free-jqgrid/css/ui.jqgrid.min.css';

此外,您可以考虑从 CDN 加载 jQuery UI CSS、Font Awesome 和免费的 jqGrid 。有关详细信息,请参阅 herehere

【讨论】:

    【解决方案2】:

    谢谢奥列格。

    免费 jqGrid 的 Meteor 包

    我是 fork [meteor-jqGrid] (https://github.com/free-jqgrid/jqGrid) 包,我将它改编为 free-jqgrid。我发表于:

    只需使用以下命令将 Meteor 项目添加到项目文件夹中:meteor add aurelienc:free-jqgrid

    【讨论】:

      猜你喜欢
      • 2018-06-08
      • 2016-09-26
      • 2016-07-06
      • 1970-01-01
      • 2016-04-18
      • 2016-07-22
      • 1970-01-01
      • 2016-12-17
      • 2016-08-16
      相关资源
      最近更新 更多