#javascript #node.js
#javascript #node.js
Вопрос:
У меня есть папка, в которой хранится файл JSON моей базы данных Firebase, у меня есть файл .bat в Windows, который сразу загружает базы данных. Теперь я хочу дублировать его на MAC.
Это иерархия папок:
- package-lock.json
- node_modules (папка)
- ИМЯ_ИГРЫ (папки)
- config.js
- ServiceAccount.json
- Dev (папка)
- import_data.js
- upload.sh -> Этот файл, который я запускаю
- данные (папка)
- Данные-worldwide.json
При запуске upload.sh:
#! /bin/bash
node import_data.js
import_data.js:
// Imports
const firestoreService = require('....node_modulesfirestore-export-import');
const firebaseConfig = require('..config.js');
const serviceAccount = require('..serviceAccount.json');
// JSON To Firestore
const jsonToFirestore = async () => {
try {
console.log('Initialzing Firebase');
await firestoreService.initializeApp(serviceAccount, firebaseConfig.databaseURL);
console.log('Firebase Initialized');
await firestoreService.restore('./data/Data-worldwide.json');
console.log('Upload Success');
}
catch (error) {
console.log(error);
}
};
jsonToFirestore();
Я продолжаю получать эту ошибку:
xxxxxx@164 Dev % ./upload.sh
internal/modules/cjs/loader.js:651
throw err;
^
Error: Cannot find module '....
ode_modules
irestore-export-import'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)
at Function.Module._load (internal/modules/cjs/loader.js:575:25)
at Module.require (internal/modules/cjs/loader.js:705:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Object.<anonymous> (/Users/xxxx/Dropbox/JSON Databases/GAME_NAME/Dev/import_data.js:2:26)
at Module._compile (internal/modules/cjs/loader.js:799:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
at Module.load (internal/modules/cjs/loader.js:666:32)
at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
at Function.Module._load (internal/modules/cjs/loader.js:598:3)
internal/modules/cjs/loader.js:651
throw err;
^
Error: Cannot find module '....
ode_modules
irestore-export-import'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)
at Function.Module._load (internal/modules/cjs/loader.js:575:25)
at Module.require (internal/modules/cjs/loader.js:705:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Object.<anonymous> (/Users/xxxx/Dropbox/JSON Databases/GAME_NAME/Dev/import_data.js:2:26)
at Module._compile (internal/modules/cjs/loader.js:799:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
at Module.load (internal/modules/cjs/loader.js:666:32)
at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
at Function.Module._load (internal/modules/cjs/loader.js:598:3)
Комментарии:
1.
require('firestore-export-import')
должно быть достаточно. Установлен ли модуль?2. Что вы подразумеваете под «установленным»? Я только что скопировал его из папки Windows.
Ответ №1:
В строковых литералах JavaScript a
является управляющим символом.
Чтобы иметь литерал
в строке, вам нужно его экранировать: \
… но Node.js обычно использует разделители каталогов в стиле UNIX ( /
), а не Windows, в любом случае.