创建一个vue项目
vue create 项目名称
在项目里打开终端
初始化npm项目,创建一个package.json文件
npm init -y
修改package.json
"scripts": { "build": "webpack --config webpack.config.js" },
npm安装Webpack
npm install --save-dev webpack webpack-cli
在项目根目录下创建一个名为webpack.config.js
的文件
const { VueLoaderPlugin } = require('vue-loader'); // 引入 VueLoaderPlugin const path = require('path'); // 引入路径模块 module.exports = { mode: 'development', // 设置模式为开发模式,可以设置为 'production' 以+++++++++ //启用压缩等优化 entry: './src/main.js', // 设置入口文件为 './src/main.js' output: { // 设置输出目录为 path.resolve(__dirname, //'dist') path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' // 设置输出文件为 'bundle.js' }, // 配置模块加载规则 module: { rules: [ { // 匹配 .vue 文件,使用 vue-loader test: /\.vue$/,// 文件后缀名的匹配规则 loader: 'vue-loader'// 定义了不同模块对应的 loader }, { // 匹配 .js 文件,使用 babel-loader,排除 node_modules test: /\.js$/,// 文件后缀名的匹配规则 loader: 'babel-loader',// 定义了不同模块对应的 loader exclude: /node_modules/ // 排除 }, { // 匹配 .png 文件,使用 file-loader test: /\.png$/,// 文件后缀名的匹配规则 use: 'file-loader'//定义了不同模块对应的 loader }, { // 匹配 .css 文件,使用 vue-style-loader 和 css-loader test: /\.css$/,// 文件后缀名的匹配规则 // 定义了不同模块对应的 loader use: [ 'style-loader', 'css-loader' ] } ] }, // 配置插件 plugins: [ new VueLoaderPlugin() // 创建 VueLoaderPlugin 实例 ], // “resolve” 是 webpack 配置中的一个核心选项,用于配置模块解析的规则和设置模块解析的行为。它提供了一//系列的属性,包括 “alias”、“extensions” 等,用于指定模块的解析规则。 resolve: { //配置模块解析的规则和设置模块解析的行为 alias: { //表示别名配置的属性 'vue$': 'vue/dist/vue.esm.js' //为' vue别名设置解析路径为 'vue/dist/vue.esm.js' }, //表示支持扩展名的属性 extensions: ['*', '.js', '.vue', '.json'] }, };
这个配置文件设定了入口文件、输出路径、模块解析规则以及插件使用
这行代码的意思是安装 Vue.js 的一个加载器库,名为 vue-loader,版本为 15.9.8。
npm install [email protected]
这行代码的意思是安装一个名为 @amap/amap-jsapi-loader
的库,并将其保存到 package.json
文件中
npm i @amap/amap-jsapi-loader --save
安装其他必要依赖,为了让Webpack能够理解vue-loader babel-loader file-loader style-loader css-loader
npm install --save-dev vue-loader babel-loader file-loader style-loader css-loader vue-template-compiler
使用Webpack打包的库默认会将模块暴露为全局变量,因此无法使用import语法引入
src——>views——>homeview.vue里的import导入的那句删掉
运行打包命令:
npm run build