Как правильно импортировать Gridstack, используя npm / webpack? - PullRequest
1 голос
/ 09 марта 2020

Я использовал npm для установки библиотеки gridstack.

Раньше я использовал gridstack как стандартную библиотеку js, но я хочу включить ее сейчас, используя npm / webpack, вместо того, чтобы напрямую включать ее самостоятельно. Я не понимаю, что мне нужно включить, чтобы заставить его работать.

Я также использовал выпуск v1.1, каковы необходимые зависимости? только сетка или вам также нужно jquery -ui?

Main. js

import Gridstack from 'gridstack' //what I need to put here ?

var grid = Gridstack.init();
console.log(grid);

Package. json

"dependencies": {
    "@babel/polyfill": "^7.8.3",
    "@babel/runtime": "^7.8.7",
    "gridstack": "^1.1.0",
 },
"devDependencies": {
    "@babel/core": "^7.8.4",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-transform-runtime": "^7.8.3",
    "@babel/preset-env": "^7.8.4",
    "autoprefixer": "^8.6.4",
    "babel-loader": "^8.0.6",
    "cross-env": "^7.0.0",
    "webpack": "^4.41.6",
    "webpack-cli": "^3.3.11"
  },

На данный момент я имеют следующую ошибку:

TypeError: gridstack__WEBPACK_IMPORTED_MODULE_7___default.a.init is not a function

Ответы [ 2 ]

1 голос
/ 28 марта 2020

в моем приложении angular / webpack это работает:

import 'gridstack/dist/gridstack.all.js';

НО тогда ни один из символов из .d.ts не найден, и делает это вместо этого:

import { GridStack, GridStackElement, GridStackNode, GridstackWidget } from 'gridstack';

исправляет определяет, но затем в другом коде отсутствует материал $ jquery (так как он не импортирует jq / jq-ui), и при этом оба жалуются, что ERROR TypeError: Cannot read property 'init' of undefined

Мне все еще нужно исправить гридстек. js правильно экспортировать вещи в 1.x, но сосредоточился на 2.x, который является переписью в машинописи. Вы можете попробовать импортировать 4 файла, как указано выше. jquery -ui версия в комплекте входит в пакет npm (все. js включает в себя все) - также см. https://github.com/gridstack/gridstack.js#jquery -приложение

0 голосов
/ 25 марта 2020

Хак, который я нашел и который работает для меня, импортирует гридстак следующим образом:

import 'gridstack/dist/jquery';
import 'gridstack/dist/gridstack';
import 'gridstack/dist/jquery-ui';
import 'gridstack/dist/gridstack.jQueryUI';

Существует также связанный открытый выпуск , в котором обсуждается эта проблема.

...