很多Vue的初学者想尝试这个框架时,都被webpack过于复杂的配置所吓倒,导致最后无法跑出一个期望的hello word效果。今天我就把我第一次使用webpack打包一个Vue Hello World应用的所有步骤详细记录下来,供Vue的初学者参考。
-
安装nodejs和npm,这两个就不用说了,网上很多教程。
-
本地随便新建一个文件夹,进入后运行命令npm init, 一路next下去,自动生成package.json。
运行命令npm install –save-dev webpack-dev-server,安装一个轻量级的服务器,该服务器用于vue应用开发完毕后的本地测试。
重复执行命令npm install –save-dev <name>,也就是把下列命令粘贴到cmd里进行执行:
npm install –save-dev css-loader
npm install –save-dev vue-template-compiler
npm install –save-dev webpack
npm install –save-dev vue-loader
npm install –save-devvue-router
参数-save-dev的效果是让这些安装的module出现在package.json的devDependencies区域内,如下图红色区域所示:
这些都是开发时依赖。我们再用下列命令安装运行时依赖:
npm install –save vue vuex
然后再在package.json里手动加入如下这一段内容:
目的是开发完毕后,使用命令npm run dev可以启动webpack-dev-server,运行我们的vue应用,并带上参数--inline --hot。
- 在项目文件夹根目录下创建一个名为src的文件夹,文件夹里新建一个文件index.vue,把如下内容拷贝进去:
<style>
h2{
color: red;
}
</style>
<template>
<h2>Jerry: Hello, World!</h2>
</template>
<script>
module.exports = {
data: function(){
return {};
}
}
</script>
再回到根目录下,新建一个文件main.js:
import Vue from 'vue';
import AppJerry from './src/index.vue'
new Vue({
el: "#demo",
components: {
app: AppJerry
}
});
这段代码首先将我们在src文件夹的index.vue里实现的应用导出,存储到变量AppJerry里,再将这个应用安装到html页面id为demo的div标签里。安装是通过创建Vue实例并将div元素的id传入构造函数里进行的。当然,我们还没创建html文件,所以马上创建一个名为index.html的文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello world</title>
</head>
<body>
<div id="demo">
<app></app>
</div>
<script src="dist/build.js"></script>
</body>
</html>
我们注意到这个index.html里引用了一个dist/build.js的文件,这个文件用来干嘛的?
这里就不得不提webpack在现代前端开发技术中起的重要作用了。WebPack可以看做是模块打包机:它做的事情是,分析我们的前端项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言,比如Scss,TypeScript等,并将其打包为合适的格式以供浏览器使用。具体到我们这个例子,就是说webpack把我们src文件夹下的index.vue打包转换成浏览器能识别的js文件,webpack的输出就是dist文件夹下的build.js文件。
为了让webpack清楚地知道它要完成什么样的任务,我们通过创建一个配置文件webpack.config.js来完成webpack任务指定。
这个配置文件的内容:
var path = require('path');
module.exports = {
entry: './main.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
}
},
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.(png|jpg|eot|svg|ttf|woff)/,
loader: 'url?limit=40000'
}
]
}
}
里面定义了webpack执行任务的入口是main.js文件,任务输出的文件夹是项目文件夹里的dist目录,输出文件是build.js, webpack扫描的文件通过vue-loader指定,特征是以.vue结尾的文件。
到目前为止,这个基于Vue的hello world应用的开发和配置都结束了,是不是很简单?
我们可以来测试了。
- 直接在命令行里敲webpack命令,就会自动执行打包操作,并在控制台上看到build.js文件成功生成的消息:
这个打包后的文件尺寸很大,有323KB,包含了vue.js本身的内容和我们index.vue里的转换后的内容。下图高亮区域就是我们index.vue里的实现被webpack处理后生成对应的JavaScript代码。
使用npm run dev启动webpack-dev-server,看到提示说在localhost:8080上可以访问我们的应用了。
浏览器里访问,看到Hello World的输出,说明我们成功地走完了一个基于webpack的Vue应用开发流程。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
uto-
相关推荐
本课程的核心是通过“Hello World”实例来引导初学者理解Vue的基本概念和设计思想。 首先,让我们从“Hello World”程序开始。这是每个开发者学习新语言或框架时的入门步骤。在Vue中,创建“Hello World”程序非常...
import { HelloWorld } from './entities/HelloWorld'; createConnection().then(async connection => { const helloWorld = new HelloWorld(); helloWorld.message = 'Hello, World!'; await connection....
【Portlet HelloWorld Pluto2 工程代码】是一个用于教学或实践的示例项目,它向开发者展示如何在Pluto Portlet Container环境下开发一个简单的Portlet应用。Portlet是Web应用程序的一种组件模型,常用于企业级内容...
import HelloWorld from './components/HelloWorld.vue'; export default { components: { HelloWorld, }, }; ``` 保存后,浏览器会自动刷新,显示出“Hello, World!”的问候语,表明我们自定义的组件已成功...
例如,在`components`目录下创建一个`HelloWorld.vue`组件,包含`<template>`(模板)、`<script>`(脚本)和`<style>`(样式)三个部分。 六、Vue Router Vue Router是官方推荐的路由库,用于实现单页应用的页面...
在现代Web开发中,Spring Boot和Vue.js是两个非常受欢迎的技术框架。Spring Boot简化了Java后端服务的构建,而Vue.js则提供了高效且灵活的前端解决方案。将这两个框架结合,可以创建出前后端分离的现代化应用。在这...
在“vue_demo2.zip”这个压缩包中,我们有一个简单的HelloWorld示例,它基于Vue CLI(命令行工具)初始化的项目。Vue CLI是Vue生态系统的一部分,它允许快速设置和配置新项目,包括自动化构建流程,这大大简化了开发...
在开始使用Vue.js进行Web应用开发之前,首先需要确保具备基本的开发环境。以下是搭建开发环境所需完成的关键步骤。 ##### 1. 安装 Node.js 和 npm - **访问官网**:首先访问[Node.js 官方网站]...
VueCLI3是Vue.js官方提供的一个快速搭建复杂前端应用的脚手架工具,它极大地简化了Vue项目的初始化过程,提供了丰富的预设和插件机制,让开发者能够专注于编写业务代码而不是配置环境。在这个名为"vue-vuex-router-...
通过`vue create electron-helloworld`命令创建一个新的Vue项目,然后利用`vue add electron-builder`添加electron-builder插件,用于构建和打包Electron应用。这一步可能会花费较长时间,因为需要下载相应的...
Vue.js 是一款流行的前端JavaScript框架,它以声明式的数据绑定和组件化开发为特点,极大地提高了Web应用的构建效率。Vue CLI是Vue.js官方提供的一个命令行工具,用于快速搭建和管理Vue项目,简化开发流程。 Vue ...
接下来,我们可以创建`HelloWorld`和`About`组件,分别位于`src/components/HelloWorld.vue`和`src/components/About.vue`。这些组件将作为路由的目标视图。 在模板中,我们使用`<router-link>`来创建导航链接。...
### 创建Hello World应用步骤 1. **安装Node.js** - 首先确保你的系统上已安装Node.js。 2. **初始化项目** - 使用`npm init`命令创建一个新的Node.js项目,并安装必要的依赖,如Express、ejs、sass、jquery和...
在前端开发领域,Visual Studio Code(VSCode)已成为Vue.js应用开发的首选工具。为了确保代码规范和整洁,遵循一定的开发流程至关重要。以下是一个详细的步骤指南,帮助你从项目初始化到配置自动化格式化。 首先,...
Vue Markdown高亮插件是为Vue.js应用设计的一款用于增强Markdown文本渲染效果的组件,它主要解决了在Vue环境中,Markdown代码块的语法高亮显示问题。这款插件通常结合Vue.js框架,使得开发者能够轻松地在Vue组件中...
export default class HelloWorld extends Vue { message = 'Hello World!'; } ``` `@Component`装饰器会自动处理Vue实例的选项,如data、methods等。 2. **数据类型声明**:TypeScript允许我们为组件的属性和...
【标题】"hello-vue:我的第一个带有Vue js CDN的Vue.js应用程序" 涉及的知识点主要包括Vue.js框架的基本应用...通过理解和实践这个项目,开发者可以进一步掌握Vue.js的基本概念和技术,为更复杂的Web应用开发打下基础。
Vue CLI(Vue.js 的命令行工具)是前端开发者...通过本文的步骤,您已学会如何安装 Vue CLI,创建一个简单的 "Hello World" 项目,并了解了一些基础的命令。随着您对 Vue 的深入学习,Vue CLI 将成为您不可或缺的工具。
【标题】"todo-hello-world-源码"指的是一个关于创建简单待办事项应用的示例项目,通常用于初学者学习编程或者特定框架的入门教程。这个项目可能包含了一个简单的"Hello, World!"级别的功能,展示如何在实际环境中...