webpage结合Vue Loader打包单文件组件

2024-03-18 23:32

本文主要是介绍webpage结合Vue Loader打包单文件组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

npm insatll vue-loader vue-template-compiler

webpage.config.js

//引用node.js中的path模块,用来处理文件路径
const path = require("path");
//引入插件html-webpack-plugin
const HtmlWebpackPlugin = require('html-webpack-plugin');
//1.添加vue-loader插件
const VueLoaderPlugin = require('vue-loader/lib/plugin')
//(1)导入webpack,模块热替换需要
const webpack = require('webpack');
// 导出一个webpack具有特殊属性配置的对象
// 安装下Node Snippets插件,输入module会有智能提示
module.exports = {mode: 'none',//指定打包为生产环境、开发环境或者设置none//入口entry: './src/main.js',// 入口模块文件路径//出口对象output: {// path 必须是一个绝对路径 , __dirname 是当前配置文件webpack.config.js的绝对路径。然后与输出目录dist拼接成一个决定路劲path: path.join(__dirname, './dist'),filename: 'bundle.js'},// 配置插件plugins: [new HtmlWebpackPlugin({//指定要打包的模板页面index.html,采用的是相对路径,与当前配置文件在同级目录,所以为./。就会找到把index.html文件并把它打包到与输出文件bundle.js的同级目录下template: './index.html'}),// 3.请确保引入这个插件!new VueLoaderPlugin(),//(3)实例化模块热替换插件new webpack.HotModuleReplacementPlugin()],//实时重新加载devServer: {//在当前目的dist目录下查找文件contentBase: './dist',hot: true //(2)开启模块热替换},module: {rules: [ //配置css转js的规则{test: /\.css$/,//正则表达式,匹配以css结尾文件use: [ //下面2个加载器的顺序不能反'style-loader',//让javascript识别转换后的js(css)'css-loader' //css转为js]},{test: /\.(png|svg|jpg|gif)$/,use: ['file-loader']},{//解决兼容性问题test: /\.m?js$/,exclude: /(node_modules)/,//排除node_modules【是各种插件安装目录】下的代码不用babel_loader去转换use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']//babel中内置的转换规则工具,刚才配套一起安装的就还有这个}}},{ //2.指定扩展名为.vue的文件用vue-loader加载test: /\.vue$/,loader: 'vue-loader'}]},
/*     // 去引用完整版 vue.js resolve:{alias:{ 'vue$': 'vue/dist/vue.js' }} */
}

main.js 

// import Hello from './Hello.vue'
// Vue是自己取的名称,一般V大写,后面的vue是安装的vue组件名称,不能更改
//这种方法导入的vue不是完整版本,不具有编译功能.因为这vue是指安装的node_modules\vue\ package.json 中的 main属性执行的vue版本dist/vue.runtime.common.js。而这个版本是运行时版本,不具有编译功能,所以会有警告错误
import Vue from 'vue'
//解决方法1:手动引入完整版本
//import Vue from 'vue/dist/vue.js'
//在main.js中要把App.vue作为其子组件使用,就要把它导入,并取名为App
import App from './App.vue'
//导入Vue之后就可以使用Vue了
new Vue({el:"#app",/*  //注册子组件components:{ //上面导入了App.vue,这里就把它作为components的一个选项设置即可// App:App 简写为AppApp}, *///为Vue组件(根组件)设置模板//template没有编译和渲染功能,编译功能可以使用vue-loader进行编译//而渲染功能可以通过render函数进行,所以在此处只需要指定render函数渲染组件即可//template:'<App />', //<app></app> a大写也可以的/* render:function(h){ //h是一个函数,这个函数用于接收要渲染的组件return h(App) //函数返回值就是渲染的结果} *//*   render:h=>{return h(App)} */render:h=>h(App)
})

最后执行build

这篇关于webpage结合Vue Loader打包单文件组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824032

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

CSS @media print 使用详解

《CSS@mediaprint使用详解》:本文主要介绍了CSS中的打印媒体查询@mediaprint包括基本语法、常见使用场景和代码示例,如隐藏非必要元素、调整字体和颜色、处理链接的URL显示、分页控制、调整边距和背景等,还提供了测试方法和关键注意事项,并分享了进阶技巧,详细内容请阅读本文,希望能对你有所帮助...