![](https://img-blog.csdnimg.cn/img_convert/a6901b2fe29ea558eaf852b11c09fd37.png)
![](https://img-blog.csdnimg.cn/img_convert/d382d0bc4fe8991c927621a40af51339.png)
![](https://img-blog.csdnimg.cn/img_convert/613db820d10aa72882d9ca89a52ddd5a.png)
![](https://img-blog.csdnimg.cn/img_convert/94e78b106bedb30bc925e5d40c504d62.png)
![](https://img-blog.csdnimg.cn/img_convert/d4707cc128bf03ab19f74683d82456fd.png)
![](https://img-blog.csdnimg.cn/img_convert/9440e102588c2f20ce218a1f1b272aae.png)
在main.js和index.html分别中输入以下代码测试。
![](https://img-blog.csdnimg.cn/img_convert/71c1c6e93c4ec81789d6789dfd978958.png)
![](https://img-blog.csdnimg.cn/img_convert/fa88e20f6be8cc98b48d9dca47ebb9fd.png)
Uncaught SyntaxError: Cannot use import statement outside a module (at main.js:1:1)
![](https://img-blog.csdnimg.cn/img_convert/8a39297ed8b0790ee15088349b03c28b.png)
查阅发现是ES6语法浏览器无法解析的问题,解决方法是在index.html中引入main.js的script标签里增加type=”module“。
![](https://img-blog.csdnimg.cn/img_convert/90ee4db9d924bba16dc7bd1062a36939.png)
Uncaught TypeError: Failed to resolve module specifier “jquery“. Relative references must start with either “/”, “./”, or “../”.
![](https://img-blog.csdnimg.cn/img_convert/1aaddaa67574fb3a3d3c5bd763cc9f2e.png)
这是因为ES6新语法浏览器不识别,所以尝试使用webpack将main.js作为入口文件,在webpack_study->dist目录下创建bundle.js去作为输出口文件,然后通过webpack打包后引入。
![](https://img-blog.csdnimg.cn/img_convert/749f9a34a5e1f5fa46bec6b129ccbbf2.png)
在终端中输入webpack ./src/main.js ./dist/bundle.js
报错:
![](https://img-blog.csdnimg.cn/img_convert/0c22b893e06b34181b2ab5dc91f7d588.png)
在当前目录下的node_modules下的package.json中修改,增加”dev“和”build“:
![](https://img-blog.csdnimg.cn/img_convert/bd6eaf4854fd1cab6a98d70f313b0bcb.png)
然后修改webpack.config.js文件,而webpack打包时并没有生成,于是在webpack_study下创建一个,然后将其中内容写为如下配置:
![](https://img-blog.csdnimg.cn/img_convert/9104893658c8df685745314cb516d876.png)
![](https://img-blog.csdnimg.cn/img_convert/ab8841f7672ea4ea153c1ec2d1c17b85.png)
成功运行,接着输入webpack ./src/main.js ./dist/bundle.js
![](https://img-blog.csdnimg.cn/img_convert/167789f1160f18274367463602993ac6.png)
检查bundle.js,发现webpack已经成功将输出内容到bundle.js中:
![](https://img-blog.csdnimg.cn/img_convert/ebc23d4552c6cde29ecfa2df6cafc187.png)
最后将index.html里链接main.js的script标签的src修改为dist目录下的bundle.js。
![](https://img-blog.csdnimg.cn/img_convert/7c12d2d637bda358aad872da988e7bf6.png)
![](https://img-blog.csdnimg.cn/img_convert/c0cc57045c88ee100d6393667224040c.png)
在main.js文件中一共输出了两个内容,均成功输出结果,$是一个回传函数,而window.$ 结果undefined的原因是因为导入的$不暴露在全局环境下。
成功在main.js中使用ES6语法导入jquery并且利用webpack打包让浏览器识别。
这样的优点在于可以避免使用script标签引入很多静态资源拖慢网页,可以将所有的js代码都放在一个main.js中,如果需要用到一些库的函数,直接import导入,再通过webpack输出到bundle.js文件中,调用时只用到这一个js文件。
原文地址:https://blog.csdn.net/NZMBELLA/article/details/128840206
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_48186.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!