为了在Laravel中使用Angular,需要怎样做?
与Vue.js和React不同,Laravel和Angular的组合不支持官方的共存,需要经过试验和困惑的整理。
假设已经安装了Composer和Angular CLI。
创建Laravel项目。
$ composer create-project laravel/laravel laravel_angular "5.7.*"
$ laravel_angular
这次我想要删除默认安装的Vue.js(虽然我认为它不会干扰,但还是为了谨慎起见)。
-window.Vue = require('vue');
-Vue.component('example-component', require('./components/ExampleComponent.vue'));
-const app = new Vue({
- el: '#app'
-});
如果按照以下步骤修剪,Bootstrap的正常运行就会出问题,因此被拒绝。(需要在bootstrap.js中添加jquery的重复记录)
$ php artisan preset none
$ php artisan preset bootstrap
将Angular项目部署到resources目录下。
$ cd resources
$ ng new anguler
$ cd angular
在 Angular 构建时改变输出目标
由于 Laravel-mix 和 Angular CLI 的统一可能很困难,
所以这次决定将 /public/js/ 和 /public/ng/ 分开。
-"outputPath": "dist/angular",
+"outputPath": "../../public/ng",
为了简单起见,使用Laravel的Auth功能,并省略.env配置。
cd ../..
php artisan migrate
php artisan make:auth
资源/views/layouts/app.blade.php和资源/views/home.blade.php的修改。
+ <script src="{{ asset('ng/runtime.js') }}" defer></script>
+ <script src="{{ asset('ng/polyfills.js') }}" defer></script>
+ <script src="{{ asset('ng/styles.js') }}" defer></script>
+ <script src="{{ asset('ng/vendor.js') }}" defer></script>
+ <script src="{{ asset('ng/main.js') }}" defer></script>
</body>
You are logged in!
+<br />
+<app-root></app-root>
如果要自动构建Angular源代码ts,则在angular目录中运行以下命令。
ng build --watch
看起来很认真的地方的链接
这个链接集里有一些看起来很专业的地方,虽然和本篇文章的方法不同,但是他们似乎正在认真地实施。
laravel-angular
创建一个能够使用Angular的Laravel环境。还会使用crality。
【Laravel】【Angular】通过Laravel + Angular制作Todo应用程序并学习。