Как импортировать нормализацию, функцию схемы из пакета узла нормализатора вне React в виде простого javascript файла или проекта простого узла - PullRequest
0 голосов
/ 11 марта 2020

Я, должно быть, упускаю некоторые основы c здесь об импорте внешней функции пакета в мой простой javascript проект / файл.

У меня есть простой проект, который я начал с npm init А затем установил пакет normalizr . Я должен запустить приведенный ниже код нормализации, и это прекрасно работает, когда я запускаю приведенный ниже код внутри React Component.

Но сам оператор import терпит неудачу в моем простом простом JavaScript файл / проект.

const normalize = "./node_modules/normalizr/dist/normalizr.js";
const schema = "./node_modules/normalizr/dist/normalizr.js"; 

const articlesData = {
    articles: [
        {
            id: 1,
            title: "Dagon",
            tags: [{ id: 1, name: "old ones" }, { id: 2, name: "short story" }]
        },
        {
            id: 2,
            title: "Azathoth",
            tags: [{ id: 1, name: "old ones" }, { id: 3, name: "novel" }]
        },
        {
            id: 3,
            title: "At the Mountains of Madness",
            tags: [{ id: 4, name: "insanity" }, { id: 3, name: "novel" }]
        }
    ]
};

const tag = new schema.Entity("tags", {});
const article = new schema.Entity("articles", {
    tags: [tag]
});

// We assume articlesData is the (parsed) JSON object that we got
const normalizedData = normalize(articlesData, { articles: [article] });

console.log(articlesData);

Я также попытался импортировать две функции (нормализация, схема), как показано ниже, которые не работали

 const normalize = require("normalizr");
 const schema = require("normalizr");

И также попробовал следующее способ запустить файл, который также не удалось

node --experimental-modules ./file.js 

прошел через эту официальную страницу , но это не сильно помогло мне.

Ниже мой пакет. json файл

{
  "name": "test-js-codes-repo",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "babel": {
    "presets": [
      "@babel/preset-env"
    ]
  },
  "license": "ISC",
  "dependencies": {
    "@babel/cli": "^7.8.4",
    "@babel/node": "^7.8.7",
    "@babel/preset-env": "^7.8.7",
    "axios": "^0.19.2",
    "babel-core": "^6.26.3",
    "babel-eslint": "^10.1.0",
    "babel-loader": "^8.0.6",
    "babel-plugin-dynamic-import-webpack": "^1.1.0",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-register": "^6.26.0",
    "es6-promise": "^4.2.5",
    "esm": "^3.2.25",
    "https": "^1.0.0",
    "isomorphic-fetch": "^2.2.1",
    "lodash.flatten": "^4.4.0",
    "lodash.map": "^4.6.0",
    "lodash.omit": "^4.5.0",
    "lodash.orderby": "^4.6.0",
    "lodash.partialright": "^4.2.1",
    "lodash.pick": "^4.4.0",
    "lodash.sortby": "^4.7.0",
    "moment": "^2.22.2",
    "normalizr": "^3.6.0",
    "request": "^2.88.0"
  },
  "description": "",
  "devDependencies": {
    "babel-plugin-dynamic-import-node": "^2.3.0"
  }
}

1 Ответ

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

Импортируйте его так же, как и любой другой модуль импорта в Node.js , требующий документы

const { normalize, schema } = require('normalizr')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...