Laravel和Vue:在哪里放js / app.js?

时间:2018-04-12 08:28:32

标签: javascript twitter-bootstrap vuejs2 bootstrap-4 laravel-5.5

我使用一些Vue组件和一个Bootstrap组件(轮播)创建了一个简单的应用程序。

我使用Laravel Mix编译我的资产。当我将编译好的app.js放在head标签之间时,我的Vue组件不起作用(Cannot find element: #app)。当我将app.js放在</body>标记之前时,我的轮播(indicators)无效...我也尝试使用defer属性,但没有成功。我是否必须拆分我的JavaScript文件才能使它们都工作?

编辑:

当我将资源放在</body>标记之前时,轮播的指示符如下所示:<="" li="">

2 个答案:

答案 0 :(得分:2)

通常,在结束</body>标记之前。

<script type="text/javascript" src="/js/app.js"></script>

如果您有其他特定于bootstrap的js代码,则必须在上述脚本标记之后编写它们,因为app.js还负责在resources/assets/js/bootstrap.js文件中加载bootstrap所需的js文件。 / p>

答案 1 :(得分:1)

消息Cannot find element: #app并不意味着,vue不起作用。这意味着,Vue.js已正确安装,但找不到ID为app的任何div:

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

要包含js文件,我建议使用asset()帮助程序:

<script type="text/javascript" src="{{ asset('js/app.js') }}"></script>