Comment faire pour importer jquery en utilisant ES6 syntaxe?

Je suis en train d'écrire une nouvelle application à l'aide de (JavaScript) ES6 syntaxe à travers babel transpiler et la preset-es2015 plugins, ainsi que semantic-ui pour le style.

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>

Structure de projet

.
├── app/
   ├── index.js
├── assets/
├── dist/
   ├── scripts/
      ├── jquery.min.js
├── index.html
├── node_modules/
   ├── jquery/
      ├── dist/
         ├── jquery.min.js
├── package.json
└── tests/

paquet.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}]
    ]
  }

Question

À l'aide de classique <script> balise à l'importation jquery fonctionne bien, mais je suis en train d'utiliser l'ES6 syntaxe.

  • Comment puis-je importer jquery pour satisfaire semantic-ui à l'aide de ES6 importation de syntaxe?
  • Dois-je importer à partir de la node_modules/ répertoire ou mon dist/ (où je copie tout)?
  • Ainsi, l'importation de dist n'a pas de sens puisque c'est votre dossier de distribution avec la production de prêt application. La construction de votre application doit prendre ce qui est à l'intérieur du nœud de modules et de l'ajouter à la dist dossier, jQuery inclus.
  • Ni ne l'importation à partir d'un fichier scss. À moins qu'il y a certains plugin génial je suis absent dehors sur!
  • il s'appelle sassify, un browserify plugin. Je suis inspirant moi-même à partir de oncletom gist
  • Je vais vérifier ça, merci!
  • la syntaxe semble étrange, mais à l'aide de "besoin" pour css / sass fichiers est encouragé à construire des outils comme webpack + babel. par exemple. require("../node_modules/bootstrap/dist/css/bootstrap.min.css");
  • D'accord, c'est une approche intéressante pour la modularisation - heureux que j'ai demandé!
  • pas de soucis, à apprécier ici, nous discutons de ES6 syntaxe pour le module d'importation et de ne pas commonjs, mais en fin de compte même des concepts en jeu.
  • Pourquoi ne pas l'utiliser à l'échelle mondiale. Quel est le problème avec ça?

InformationsquelleAutor | 2015-12-17