Uncaught SyntaxError: Cannot use import statement outside a module (at index.js:1:1)

这个就是兼容性问题

1.安装webpack

npm i webpack@5.42.1 webpack-cli@4.7.2 -D

2.src统计目录下创建webpack.config.js

module.exports={mode:'development'//开发模式development---生产模式production,production会压缩代码
}

3.在package.json的scripts节点下,新增dev脚本(如果没有package.json文件夹,npm init -y)

"scripts": {"dev":"webpack"},

4.打包(npm run dev)

打完包会出来一个dist文件,引入dist>main.js

5.打包路径

const path =require('path')//道路路径
module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码//entry指定处理的文件entry:path.join(__dirname,'src/index1.js'),// // output打包的出口output:{path:path.join(__dirname,'./dist2'),//输出得到文件存放路径filename:'bundle.js'//设置输出的文件名}}

6.自动保存  Ctrl+S  安装插件

npm install webpack-dev-server ---save-dev

在webpage.json给webpack加个serve参数

 "scripts": {"dev":"webpack serve"},
const path =require('path')//道路路径
module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码//entry指定处理的文件entry:path.join(__dirname,'src/index.js'),// // output打包的出口output:{path:path.join(__dirname,'dist'),//输出得到文件存放路径filename:'bundle.js'//设置输出的文件名},devServer:{contentBase:path.join(__dirname,'./'),//指定发布后的映射路径compress:true,//压缩资源// port:9000,//指定服务器的端口号// open:'Chrome'//指定浏览器}}

7.复制html

npm i html-webpack-plugin@5.3.2 -D
const path =require('path')//道路路径
const HtmlPlugin =require('html-webpack-plugin')//1.导入html插件
const htmlPlugin =new HtmlPlugin({//2.创建HTML的实例对象template:'./src/index.html',//指定原文件的存放路径filename:'./index.html'//指定生成文件的存放路径
})
module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码//插件的数组plugins:[htmlPlugin],//3.通过plugin节点使htmlPlugin插件生效//entry指定处理的文件entry:path.join(__dirname,'src/index.js'),// // output打包的出口output:{path:path.join(__dirname,'dist'),//输出得到文件存放路径filename:'bundle.js'//设置输出的文件名},devServer:{contentBase:path.join(__dirname,'./'),//指定发布后的映射路径compress:true,//压缩资源// port:9000,//指定服务器的端口号// open:'Chrome'//初次打包自动打开指定浏览器}}

8.打包处理css文件

npm i style-loader@3.0.0 css-loader@5.2.6 -D

打包处理less文件

npm i less-loader@10.0.1 less@4.1.1 -D

打包处理img文件

npm i url-loader@4.1.1 file-loader@6.2.0 -D

打包处理js文件

pm i babel-load@8.2.2 @babel/core@7.14.6 @babel/plugin-proposal-decorators@7.14.5 -D

根目录创建babel.config.js

module.exports={plugins:[['@babel/plugin-proposal-decorators',{legacy:true}]]
}
const path =require('path')//道路路径
const HtmlPlugin =require('html-webpack-plugin')//1.导入html插件
const htmlPlugin =new HtmlPlugin({//2.创建HTML的实例对象template:'./src/index.html',//指定原文件的存放路径filename:'./index.html'//指定生成文件的存放路径
})
module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码//插件的数组plugins:[htmlPlugin],//3.通过plugin节点使htmlPlugin插件生效//entry指定处理的文件entry:path.join(__dirname,'src/index.js'),// // output打包的出口output:{path:path.join(__dirname,'dist'),//输出得到文件存放路径filename:'bundle.js'//设置输出的文件名},devServer:{contentBase:path.join(__dirname,'./'),//指定发布后的映射路径compress:true,//压缩资源// port:9000,//指定服务器的端口号// host:'127.0.0.1'//指定运行地址// open:'Chrome'//初次打包自动打开指定浏览器},module:{//所有第三方文件模块的匹配规则rules:[//文件名匹配规则{test:'/\.css$/',use:['style-loader','css-loader']},{test:'/\.less$/',use:['style-loader','css-loader','less-loader']},{test:'/\.jpg|png|gif$/',use:'url-loader?limit=22229'},{test:'/\.js$/',use:'babel-loader',exclude:/node_modules/},]}}

9.自动删除更新dist

npm i clean-webpack-plugi@3.0.0 -D
const path =require('path')//道路路径
const HtmlPlugin =require('html-webpack-plugin')//1.导入html插件
const {CleanWebpackPlugin} =require('clean-webpack-plugin')
const cleanPlugin =new CleanWebpackPlugin()
const htmlPlugin =new HtmlPlugin({//2.创建HTML的实例对象template:'./src/index.html',//指定原文件的存放路径filename:'./index.html'//指定生成文件的存放路径
})
module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码//插件的数组plugins:[htmlPlugin,cleanPlugin],//3.通过plugin节点使htmlPlugin插件生效//entry指定处理的文件entry:path.join(__dirname,'src/index.js'),// // output打包的出口output:{path:path.join(__dirname,'dist'),//输出得到文件存放路径filename:'js/bundle.js'//设置输出的文件名},devServer:{contentBase:path.join(__dirname,'./'),//指定发布后的映射路径compress:true,//压缩资源// port:9000,//指定服务器的端口号// host:'127.0.0.1'//指定运行地址// open:'Chrome'//初次打包自动打开指定浏览器},module:{//所有第三方文件模块的匹配规则rules:[//文件名匹配规则{test:'/\.css$/',use:['style-loader','css-loader']},{test:'/\.less$/',use:['style-loader','css-loader','less-loader']},//outputPath=images{test:'/\.jpg|png|gif$/',use:'url-loader?limit=470&outputPath=images'},{test:'/\.js$/',use:'babel-loader',exclude:/node_modules/},]}}

10.报错具体行数

module.exports={mode:'development',//开发模式development---生产模式production,production会压缩代码devtool:'eval-source-map',//报错具体行数和具体位置(开发)// devtool:'nosources-source-map',//报错具体行数(开发)
}

11.webpack打包中的@

resolve:{alias:{//告诉webpack,程序员写的代码中@代表src这层目录"@":path.join(__dirname,'./src')}}

import logo from './img/mi.png'

console.log(logo);

$('.box').attr('src',logo)

webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index相关推荐

  1. webpack打包js/css/scss/less/styl等(可以打包图片)

    Webpack 1. 什么是webpack? 打包,压缩各种静态资源的工具(css,js,图片,图标等) 2.目的 性能优化 减少浏览器向服务端请求的次数 节约服务器的的带宽资源 3.如何使用 介绍 ...

  2. webpack打包js文件的问题

    前言 这里记录下webpack打包js文件的配置和遇到的问题.因环境版本等不同,解决办法未必都是通用的,仅作为大家参考之用: 我的环境配置 macOS M1 系统 webpack版本:(全局版本)we ...

  3. webpack打包js文件

    Webpack安装 全局安装 npm install -g webpack webpack-cli 安装后查看版本号 webpack -v 初始化项目 创建webpack文件夹 进入webpack目录 ...

  4. webpack --- 发布环境的配置 代码压缩 代码分类

    说明 源代码 本篇主要对发布环境的配置说明 前面2点是对webpack的一个复习. 第3点开始,逐步配置部署代码 1. Webpack发布的策略 2.1 在实际开发中,一般会有两套方案: 开发期间的项 ...

  5. node项目打包如何隐藏html后缀,详解webpack打包nodejs项目(前端代码)

    随着前端体积越来越大,功能越来越丰富,这时候就需要将前端工程化,而webpack就是用于将前端各种文件打包起来.一个简单的webpack应该包含以下几个概念 入口起点 配置 组件 加载器 模块 模块热 ...

  6. webpack的安装及使用webpack打包js、css文件

    目录 webpack介绍 前端模块化和打包概念介绍 webpack和grunt/gulp的对比 webpack和nodejs的关系 webpack安装 webpack使用示例 环境搭建 使用webpa ...

  7. webpack打包js内存溢出:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

    使用webpack打包react项目,内存溢出: <--- JS stacktrace --->==== JS stack trace ========================== ...

  8. 【WebPack】WebPack的安装、使用WebPack打包 js/css/img 等文件

    目录 webpack和node和npm的关系 npm install webpack -g -g是全局的意思 项目中一般有两个文件夹: src,dist(distribution) WebPack的使 ...

  9. webpack打包js文件,图片路径错误,没有将图片打包的问题

    初用 webpack 进行项目开发的同学会发现:在 js 或者 vue 中引用的图片都没有打包进 bundle 文件夹中.这时是需要require的方式进行图片路径的引用,这样引用的图片就可以成功打包 ...

  10. Webpack5:用webpack打包js文件

    前提:node.js和npm已安装好 node.js和npm的安装网上教程一大堆,就不说了,建议初学者将node.js和npm装在c盘,能避免很多操作和麻烦(特指windows用户,有点想买mac了, ...

最新文章

  1. vc 运行c语言步骤,第1章_C语言概述(vc++环境如何运行c语言程序)[精选].ppt
  2. SpringBoot(Thymeleaf)前端html页面直接的传参和判定
  3. BZOJ-1082-[SCOI2005]栅栏(二分+dfs判定)
  4. delphi 提取字符中的数字
  5. [dts]Device Tree机制【转】
  6. linux之pkill命令
  7. input 函数的输入和输出
  8. oracle-第N篇加强专题
  9. 233.数字1的个数
  10. 猿创征文|我的技术成长之路C++
  11. 含泪整理MySQL索引
  12. C语言五子棋--人机对弈--人人对弈
  13. 紫光展锐发布系统级安全的高性能5G SoC移动平台T820
  14. 用word2vec解读延禧攻略人物关系
  15. C语言进阶第23式:#error和#line的使用分析
  16. 腾讯云服务器计费模式包年包月/按量计费/竞价实例选择困难户
  17. android wear tizen,三星tizen和谷歌android wear对比 android wear和三星tizen哪个好
  18. logisim 快速加法器设计实验报告_华中科技大学数字逻辑实验
  19. 2017cad光标大小怎么调_cad光标设置,小编教你CAD的十字光标如何设置大小
  20. LWIP netconn TCP UDP测试 实例

热门文章

  1. MySQL篇【5】——约束
  2. 各个小组对“躲避小球”游戏的评价
  3. 实习之路0--设计模式之策略模式的理解(鸭子类例子)
  4. 七款云上共享文件系统 POSIX 兼容性大比拼
  5. 友善串口助手 V2.5.8.0825 Serial Port Utility注册码
  6. 在Linux Ubuntu上编译DNX
  7. 队列 front rear
  8. 【转】PM、RD、QA、OP英文缩写
  9. 面向对象设计——系统动态模型设计(1,交互模型)
  10. 天翼云linux上传工具,(一)天翼云主机安装seafile7.0.3