Ich schreibe eine neue App mit (JavaScript) ES6
-Syntax über babel
Transpiler und die preset-es2015
Plugins sowie semantic-ui
für den Stil.
index.js
import * as stylesheet from '../assets/styles/app.scss';
import * as jquery2 from '../dist/scripts/jquery.min';
import * as jquery3 from '../node_modules/jquery/dist/jquery.min';
console.log($('my-app'));
index.html
<!DOCTYPE html>
<html lang="fr">
<head>
<body>
<script src="dist/app.js"></script>
</body>
</html>
Projektstruktur
.
├── app/
│ ├── index.js
├── assets/
├── dist/
│ ├── scripts/
│ │ ├── jquery.min.js
├── index.html
├── node_modules/
│ ├── jquery/
│ │ ├── dist/
│ │ │ ├── jquery.min.js
├── package.json
└── tests/
package.json
…
"scripts": {
"build:app": "browserify -e ./app/index.js -o ./dist/app.js",
"copy:jquery": "cpy 'node_modules/jquery/dist/jquery.min.js' ./dist/scripts/",
…
},
"devDependencies": {
"babel-core": "6.3.x",
"babel-preset-es2015": "6.3.x",
"babelify": "7.2.x",
"cpy": "3.4.x",
"npm-run-all": "1.4.x",
"sassify": "0.9.x",
"semantic-ui": "2.1.x",
…
},
"browserify": {
"transform": [
[ "babelify", { "presets": [ "es2015"]}],
[ "sassify", { "auto-inject": true}]
]
}
Frage
Die Verwendung des klassischen <script>
Tags zum Importieren jquery
funktioniert einwandfrei, aber ich versuche, die ES6-Syntax zu verwenden.
- Wie importiere ich
jquery
, umsemantic-ui
die ES6-Importsyntax zu erfüllen ? - Soll ich aus dem
node_modules/
Verzeichnis oder meinemdist/
(wo ich alles kopiere) importieren ?
dist
macht keinen Sinn, da dies Ihr Distributionsordner mit der produktionsbereiten App ist. Wenn Sie Ihre App erstellen, sollten Sie die Inhalte der Knotenmodule in den Ordner dist aufnehmen, einschließlich jQuery.