【发布时间】:2016-03-24 03:31:44
【问题描述】:
我正在编写一个新应用程序,使用 (JavaScript) ES6 语法通过 babel 转译器和 preset-es2015 插件,以及 semantic-ui 样式。
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>
项目结构
.
├── 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}]
]
}
问题
使用经典的<script> 标签导入jquery 工作正常,但我正在尝试使用 ES6 语法。
- 如何使用 ES6 导入语法导入
jquery以满足semantic-ui? - 我应该从
node_modules/目录还是我的dist/(我复制所有内容)导入?
【问题讨论】:
-
好吧,从
dist导入没有意义,因为那是您的分发文件夹,其中包含生产就绪应用程序。构建您的应用程序应该获取节点模块内的内容并将其添加到 dist 文件夹,包括 jQuery。 -
也不从 scss 文件导入。除非我错过了一些很棒的插件!
-
@RGraham 它被称为sassify,一个browserify 插件。我从oncletom gist 启发了自己
-
我会检查一下,谢谢!
-
@RGraham - 语法看起来很奇怪,但是使用 webpack + babel 等构建工具鼓励对 css / sass 文件使用“require”。例如。要求(“../node_modules/bootstrap/dist/css/bootstrap.min.css”);
标签: javascript jquery ecmascript-6 browserify semantic-ui