前端框架笔记

简介: 前端框架笔记

Vue.js的安装

安装Vue.js有两种方法:

(1)类似于Bootstrap或jQuery,直接通过HTML文件中的标签引用。为了方便开发者使用,Vue.js提供了相关的CDN,通过如下代码可以引用最新版本的Vue.js:

` <script src="https://cdn.jsdelivr.net/npm/vue"></script>`

通过指定版本号,可以引用不同版本的Vue.js,这样项目工程不会因为新版本的Vue.js而出现不兼容的问题。

` <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>`

除了CDN方式外,还可以下载源代码直接引入。对于一个大型项目而言,直接引入JavaScript文件的方式可能并不便捷,所以笔者采用npm的安装方式。

(2)npm安装方式。

新建项目文件夹,使用npm init命令初始化项目,然后使用如下命令安装Vue.js,与Express的安装步骤一样。

npm install vue

package.json文件会自动添加Vue.js的依赖项,代码如下:

` {
   "name": "2-3-2",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "dependencies": {
     "vue": "^2.6.10"
   }
 }`
用Vue.js编写Hello World——CDN方式

介绍了安装Vue.js的两种方式,第一种是通过CDN方式或引入静态文件,通过CDN方式编写Hello World程序较为简单,下面直接演示。

【示例】用Vue.js编写HelloWorld——1。

新建HTML文件,命名为index.html,引入Vue.js。完整的代码如下:

`

01 <!--HelloWorld-->
 02 <html lang="en">
 03 <head>
 04     <meta charset="UTF-8">
 05     <title>Title</title>
 06 </head>
 07 <body>
 08 <div id="app">
 09     <!--显示文字内容-->
 10         {{text}}     
 11 </div>
 12 <!--引入Vue-->      13   <script src="https://cdn.jsdelivr.net/npm/vue"></script>
 14 <script>
 15     <!--实例化Vue-->
 16     var vm = new Vue({
 17         el: '#app',                             //指定属性id里的app
 18         //数据内容
 19         data: {
 20             text: 'hello world!!!'
 21         }
 22     })
 23 </script>
 24 </body>
 25 </html> `

通过浏览器打开index.html,网页效果如图

用Vue.js编写Hello World——Webpack方式

对于Vue.js框架而言,输出一个简单的Hello World程序可能并不简单,浏览器本身不识别后缀为vue的文件,所以vue文件不能通过浏览器直接打开,类似于HTML这样的页面也无法直接引入vue文件。

如果想要使用Vue.js编写程序,需要Webpack打包工具将.vue文件编译成普通的JavaScript文件,再通过页面的引入去执行这个JavaScript文件。

【示例2-5】用Vue.js编写HelloWorld——2。

(1)新建项目工程,使用npm init初始化项目代码,此时生成package.json文件,接着安装Webpack,命令如下:

npm install webpack

(2)Webpack安装后需要再安装webpack-cli(一个使用Webpack的命令行工具),命令如下:

npm install webpack-cli

(3)安装Vue.js,命令如下:

npm install vue

(4)安装vue-loader和vue-template-compiler,这样才可以让Webpack识别Vue.js,安装命令如下:

npm install vue-loader

npm install vue-template-compiler

安装完成后的package.json文件如下:

`{
   "name": "2-3-2",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "dependencies": {
     "vue": "^2.6.10",
     "vue-loader": "^15.7.1",
     "vue-template-compiler": "^2.6.10"
   },
   "devDependencies": {
     "webpack": "^4.39.3",
     "webpack-cli": "^3.3.7"
   }`

(5)新建一个webpack.config.js文件,用于配置Webpack打包工具。Webpack的配置需要指定入口文件并且引入vue-loader,完整的代码如下:

`
 01 const path = require('path');
 02 const VueLoaderPlugin = require('vue-loader/lib/plugin');
 03 
 04 module.exports = {
 05     //指定入口文件
 06     entry:path.join(__dirname, 'app.js'),
 07     //指定输出的文件位置和文件名称
 08     output: {
 09         path: path.join(__dirname,'dist'),
 10         filename: 'build.js'
 11     },
 12     plugins: [
 13         //在使用新版的vue-loader时,必须引入这个插件
 14         new VueLoaderPlugin()
 15     ],
 16     module: {
 17         //指定不同格式的规则
 18         rules: [
 19             //解析.vue文件
 20             {
 21                 test: /\.vue$/,
 22                 loader: 'vue-loader'
 23             },
 24         ]
 25     }
 26 }`

这里指定了入口文件导出的位置和引入模块时的一些规则,通过这个配置让Webpack可以编译同级目录中的app.js文件,并且在dist文件夹中建立新的build.js作为导出的文件。

(6)编辑app.js中的内容。在app.js中需要引入Vue.js、获取页面中的body节点,并且将所有需要显示的内容挂载在上面,完整的代码如下:

` 01 //引入vue
 02 import Vue from 'vue'
 03 import Hello from './helloworld.vue';
 04 
 05 const root = document.createElement('div')
 06 document.body.appendChild(root)
 07 
 08 //mount将Hello模块挂载到root根节点中
 09 new Vue({
 10     render: (h) => h(Hello)
 11 }).$mount(root)`

(7)上述代码引入了一个还未建立的Hello模块,其文件名为helloworld.vue,也就是本例的Vue.js部分,该文件中指定了一个变量,赋值为HelloWorld并显示在页面上。

01 <template>
 02     <div>
 03         <p>{{text}}</p>
 04     </div>
 05 </template>
 06 
 07 <script>
 08     export default{
 09         name: "Hello",
 10         data(){
 11             return {
 12                 text: 'HelloWorld!!!'
 13             }
 14         }
 15     }
 16 

其中,{{text}}部分显示下方script/data中text的值“HelloWorld!!!”,而模板的部分将会被挂载在一个HTML文件的body节点中,最终将所有的内容显示在页面中。

(8)Hello World实例到此就完成了。在命令行中使用如下命令打包:

webpack --config webpack.config.js

也可以将此命令添加到package.json中,通过webpack-cli的方式使用,这样会更加方便。修改后的代码如下:

{
   "name": "2-3-2",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "webpack --config webpack.config.js"
 },
   "author": "",
 ……
 }

在命令行窗口中使用如下命令完成打包操作,

npm run build


相关文章
|
3月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
270 14
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
76 0
|
3月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
3月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
3月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
185 1
|
3月前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
105 0
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
4月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
5月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
58 0
|
7月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
144 2
|
7月前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记