Import w JS

0

Witam w css jest cos takiego jak:
@import url("../css/xxx.css");
w jednym pliku mozna zlaczyc kilka i zaincludowac to w kod strony

czy jest cos podobnego w js? jakis include/import
prosil bym o przyklad jesli tak

1

I tak i nie.

Natywnie w JS(w wersji ES6/ES2015 ) jest specyfikacja modułów, ale z tego co wiem to nie jest jeszcze obsługiwana przez przeglądarki.

Ale da się korzystać. Tylko, żeby korzystać już dziś z modułów ES6 trzeba "transpilować kod" (to jest: piszesz kod w ES6/ES2015 z modułami, ale zostaje on "przetranspilowany" do kodu ES5 (piątka na końcu), który rozumieją przeglądarki).

Do transpilowania służy narzędzie zwane Babel.
https://babeljs.io

Jednak zapewne będziesz potrzebować jeszcze jednego narzędzia: Webpack, który połączy wiele plików w jeden wynikowy.

Więc w skrócie: piszesz używając składni modułów ES6/ES2015, i instalujesz Webpacka, do Webpacka podłączasz Babela, i masz (tyle, że to nie takie proste za pierwszym razem, bo dochodzi konieczność konfiguracji).

Ewentualnie, żeby uprościć:

  • zamiast Webpacka, używasz Browserify (wydaje mi się, że Browserify na początek będzie łatwiejsze, bo mniej konfiguracji)
  • nie używasz modułów ES6/ES2015 tylko modułów CommonJS, które Browserify rozumie bez żadnej konfiguracji. Wtedy odpada też konieczność użycia Babela.
// moduły ES6:
import {cosTam} from './plik.js';
export function abc() {}

// CommonJS
var costTam = require('./plik.js').cosTam;
exports.abc = function () {
};

Czyli: najprostsze rozwiązanie, to zainstalowanie Browserify i korzystanie ze składni CommonJS.

1

Zależy od środowiska, w node.js masz coś takiego:
https://nodejs.org/docs/latest/api/modules.html

ES6 wpowadza taki model:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export

Z obu form możesz skorzystać także w przeglądarce przy użyciu odpowiednich narzędzi, np:
https://webpack.github.io/
http://browserify.org/

Osobiście polecam moduły ES6 + Webpack.

1 użytkowników online, w tym zalogowanych: 0, gości: 1