Laravel Mix编译前端资源

目前项目是使用的vue+laravel来写的,其中laravel和vue分别放了一个目录,但是这样有个问题,那就是vue需要经常更新,不然运行项目会经常出现各种问题,这里就看了看laravel的文档,才知道还有Mix这个组件,进行编译前后端资源。下载完成后的目录和laravel是一样的,只是在根目录下面有一个node_models目录。

安装:

安装Node,首先要确保自己的电脑上面有安装Node。

使用:node -v    和   npm -v查看是否有版本号,有即表示有安装Node,否则需要安装Node。

cdn.jsdelivr.net/npm/vue,下载最新的Node。

接下来就需要安装Laravel Mix,首先安装Laravel项目:composer create-project --prefer-dist laravel/laravel blog  这里项目的名字叫blog  。

安装成功后,进入安装目录。

安装前端依赖:npm install(这里可以选择淘宝镜像)

使用例子:

修改 routes/web.php 文件为:

Route::get(‘/‘,function(){

return view(‘index‘);

});

新建一个Hello.vue文件

在 resources/assets/js/components 目录下新建 Hello.vue 文件

  1. <template>

  2.  

    <div>

  3.  

    <h1>Hello, Larvuent!</h1>

  4.  

    <p class="hello">{{ msg }}</p>

  5.  

    </div>

  6.  

    </template>

  7.  

  8.  

    <script>

  9.  

    export default {

  10.  

    data() {

  11.  

    return {

  12.  

    msg: ‘This is a Laravel with Vue and Element Demo.‘

  13.  

    }

  14.  

    }

  15.  

    }

  16.  

    </script>

  17.  

  18.  

    <style>

  19.  

    .hello {

  20.  

    font-size: 2em;

  21.  

    color: green;

  22.  

    }

  23.  

    </style>

修改 app.js 文件

修改 resources/assets/js/app.js 文件

  1. require(‘./bootstrap‘);

  2.  

  3.  

    window.Vue = require(‘vue‘);

  4.  

  5.  

    // Vue.component(‘example‘, require(‘./components/Example.vue‘)); // 注释掉

  6.  

    import Hello from ‘./components/Hello.vue‘; // 引入Hello 组件

  7.  

  8.  

    const app = new Vue({

  9.  

    el: ‘#app‘,

  10.  

    render: h => h(Hello)

  11.  

    });

新建 Laravel 视图文件,和 Vue 交互

在 resources/views 目录下新建 index.blade.php 文件

  1. <!doctype html>

  2.  

    <html lang="en">

  3.  

    <head>

  4.  

    <meta charset="UTF-8">

  5.  

    <title>Larvuent</title>

  6.  

    </head>

  7.  

    <body>

  8.  

    <div id="app"></div>

  9.  

  10.  

    <script src="{{ mix(‘js/app.js‘) }}"></script>

  11.  

    </body>

  12.  

    </html>

编译:运行  npm run dev

提示编译成功,并访问页面:输入http://192.168.1.112

显示如下表示成功:

现在已经完成vue+laravel了,还需要引入element.

npm i element-ui -S   即可引入element

修改 resources/assets/js/app.js 文件

  1. import Hello from ‘./components/Hello.vue‘; // 引入Hello 组件

  2.  

    import ElementUI from ‘element-ui‘;

  3.  

    import ‘element-ui/lib/theme-default/index.css‘;

  4.  

    Vue.use(ElementUI);

修改Hello.vue,使用element组件。

  1. <template>

  2.  

    <div>

  3.  

    <h1>Hello, Larvuent!</h1>

  4.  

    <el-button @click="visible = true">按钮</el-button>

  5.  

    <el-dialog v-model="visible">

  6.  

    <p>欢迎使用 Element</p>

  7.  

    </el-dialog>

  8.  

    </div>

  9.  

    </template>

  10.  

  11.  

    <script>

  12.  

    export default {

  13.  

    data() {

  14.  

    return {

  15.  

    visible: false

  16.  

    }

  17.  

    }

  18.  

    }

  19.  

    </script>

  20.  

  21.  

    <style>

  22.  

    .hello {

  23.  

    font-size: 2em;

  24.  

    color: green;

  25.  

    }

  26.  

    </style>

再次运行npm run dev  进行编译前端资源。然后访问页面如下:

这里修改了一个vue文件就要重新编译一次,很麻烦,所有可以运行  npm run watch 就可以不需要再次编译了,每次修改过后的代码自动就会编译。

这里还有一个很重要的问题,那就是很多人参照以上的步骤会报错,并不会出现正常的页面。

很多人都会出现这样的问题。

所有需要在index页面加一个header头,就可以了。

修 改  resources/views/index.blade.php  文件为

目前都只是最基本的使用,大型项目是需要使用vue路由的。所有这里需要安装路由。

运行  npm install vue-router --save-dev  安装路由。

配置:

在 resources/assets/js 目录下新建目录 router ,同时在 router 目录下新建 index.js 文件

  1. import Vue from ‘vue‘;

  2.  

    import VueRouter from ‘vue-router‘;

  3.  

    Vue.use(VueRouter);

  4.  

  5.  

    export default new VueRouter({

  6.  

    saveScrollPosition: true,

  7.  

    routes: [

  8.  

    {

  9.  

    name: ‘hello‘,

  10.  

    path: ‘/hello‘,

  11.  

    component: resolve => void(require([‘../components/Hello.vue‘], resolve))

  12.  

    }

  13.  

    ]

  14.  

    });

在 resources/assets/js 目录下新建 App.vue 文件

  1. <template>

  2.  

    <div>

  3.  

    <h1>Hello, {{ msg }}!</h1>

  4.  

    <router-view></router-view> <!--路由引入的组件将在这里被渲染-->

  5.  

    </div>

  6.  

    </template>

  7.  

  8.  

    <script>

  9.  

    export default {

  10.  

    data() {

  11.  

    return {

  12.  

    msg: ‘Vue‘

  13.  

    }

  14.  

    }

  15.  

    }

  16.  

    </script>

  17.  

  18.  

    <style>

  19.  

    </style>

修改 resources/assets/js/app.js 文件为

  1. // import Hello from ‘./components/Hello.vue‘;

  2.  

    import App from ‘./App.vue‘;

  3.  

    import ElementUI from ‘element-ui‘;

  4.  

    import ‘element-ui/lib/theme-default/index.css‘;

  5.  

    Vue.use(ElementUI);

  6.  

  7.  

    import router from ‘./router/index.js‘;

  8.  

  9.  

    const app = new Vue({

  10.  

    el: ‘#app‘,

  11.  

    router,

  12.  

    render: h => h(App)

  13.  

    });

重新编译。

原文地址:https://www.cnblogs.com/guiyishanren/p/10651596.html

时间: 2024-08-26 14:32:23

Laravel Mix编译前端资源的相关文章

基于Laravel开发博客应用系列 —— 使用Bower+Gulp集成前端资源

本节我们将讨论如何将前端资源集成到项目中,包括前端资源的发布和引入.本项目将使用 Bower 和 Gulp 下载和集成jQuery.Bootstrap.Font Awesome 以及 DataTables. 1.“偷”别人的代码 开发 web 应用最快的方式就是借鉴别人的项目.换句话说,“偷”他们的代码. 当然,不是真偷. 举个例子吧,Twitter Bootstrap 的许可证声明允许任何人可以免费使用 Bootstrap 框架. 现在的 web 站点包含很多东西:框架.库.前端资源,等等.如

laravel 中 与前端的一些事2 之使用Gulp编译sass

下载所有依赖npm的packagist: 下载了前端laravel  elixir编译所需要的全部工具: gulp编译scss文件: scss文件的默认存放位置: 输入命令gulp 开始编译scss文件: 编译成功后 存放在public/css/app.css 使用场景二:

前端资源教程合集

综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 En类资源汇总 免费的编程中文书籍索引 前端书籍 前端免费书籍大全 前端知识体系 免费的编程中文书籍索引 智能社 - 精通JavaScript开发 重新介绍 JavaScript(JS 教程) 麻省理工学院公开课:计算机科学及编程导论 JavaScript中的this陷阱的最全收集--没有之一 JS函数式编程指南 JavaScript Promise迷你书

Android中如何修改编译的资源ID值(默认值是0x7F...可以随意改成0x02~0x7E)

一.技术准备 今天我们来看一下如何修改Android中编译时的资源Id的值,在讲解这内容之前,我们需要先了解一下Android中的资源编译之后的结构和编译过程,这里就不多说了,具体可以查看这篇文章: http://blog.csdn.net/jiangwei0910410003/article/details/50628894 这篇文章中,介绍了如何解析Android中编译之后的resource.arsc文件,这里就介绍了Android中资源文件编译之后的类型和格式,其实Android中资源编译

优秀前端资源备忘录

1.前端开发仓库 比较基础的前端资源,包含html css javascript及常用在线工具. 属于国内个人(诨名:小叉)的前端资源整理,是github上的开源项目. 一些常见效果较为实用,如jQuery展示类插件,Unicode在线编码,代码在线压缩等. 前端开发仓库 优秀前端资源备忘录,布布扣,bubuko.com

WEB前端资源集

原出处:http://www.cnblogs.com/zhengjialux/archive/2017/01/16/6291394.html 资源网站篇 CSDN:全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台伯乐在线:专业的IT互联网职业社区V2EX:创意工作者们的社区.这里目前汇聚了超过 75000 名主要来自互联网行业.游戏行业和媒体行业的创意工作w3school:提供基础中文 Web 技术教程前端观察:关注国内外前端设计资源和前端开发技术的专业博客前端乱炖:最专业

如何编译ICU资源

如果只是测试修改后效果,执行步骤A即可:如果需要build后生效,则需要执行全部步骤 下面是KK的icu资源的路径为例子,如果是Android L请改为external/icu/icu4c/source/ A. (KK,L)需要建立临时目录,并且在临时目录中编译ICU资源 1. 在external/icu4c下新建临时目录icubuild,进入icubuild目录 $mkdir external/icu4c/icuBuild $cd external/icu4c/icuBuild 2. 执行ic

前端资源多个产品整站一键打包&amp;包版本管理(一)

来新公司工作的第五个月.整站资源打包管理也提上了日程. 问题: 首先.什么是整站的打包管理呢? 我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们就不知道其他部门的在做什么,或许我们正在头疼的问题,隔壁部门已经早早解决了呢? 各个部门的前端资源也是到处都是.难以管理.于是就提出了整站资源共享.整站资源共享的前提就是资源打包能统一.在几个产品里面.既有使用grunt的也有使用glup的,各个产品引入的包的版本也不一样. 目标: 统一打包工具 对

前端资源汇总

前端网:http://www.w3cfuns.com/ 前端网址导航:http://whycss.com/ 前端里:http://www.yyyweb.com/ 张鑫旭博客:http://www.zhangxinxu.com/php/ 迷渡:http://justjavac.com/ 梦想天空博客:http://www.cnblogs.com/lhb25/ 前端知识体系:http://ecomfe.duapp.com/ 前端资源分享:https://github.com/hacke2    ht