How could I import jQuery from npm package using ES6 only?
我用npm -install jquery安装了jQuery,它在我的项目中使用jquery创建了一个node_modules文件夹。但是当我尝试使用ES6 import导入它时,出现了错误。
我不想使用Webpack或require()并不得不对其进行编译...其他任何东西只是普通的ES6。
我总是在弄错这个错误
Uncaught SyntaxError: The requested module
'./node_modules/jquery/dist/jquery.min.js' does not provide an export
named '$'
或
Uncaught SyntaxError: The requested module
'./node_modules/jquery/src/jquery.js' does not provide an export named
'$'
项目结构
1 2 3 4 5 6 7 8 9 10 11 | . ├── index.html ├── app.js ├── node_modules/ │ ├── jquery/ │ │ ├── dist/ │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ ├── src/ │ │ │ ├── jquery.js └── package.json |
app.js
1 2 3 4 5 | import { $ } from './node_modules/jquery/dist/jquery.min.js'; // <-- does not work import { $ } from './node_modules/jquery/src/jquery.js'; // <-- does not work window.$ = $; $('body').css('background-color', 'red') |
先尝试
目前,浏览器仅支持此功能。
在许多编译器(例如TypeScript和Babel)以及捆绑器(例如Webpack)中提供了完整的实现。
自65版以来,Chrome已完全支持ES6模块,但是如果我们尝试使用import / export关键字在JavaScript文件中导入或导出模块,它仍然会引发错误。
因此,要使没有Webpack / Browserify / Babel的ES6模块正常工作,您需要做的是在index.html文件中添加下一个脚本标记:
1 | <script type="module" src="ES6-Node.js"> |