如何解决“require is not defined”错误?

23 浏览
0 Comments

如何解决“require is not defined”错误?

我按照这个教程使用vuejs和laravel创建了一个聊天应用。在app.js:8中出现了"require is not defined"错误。我尝试了很多方法,但是似乎没有解决这个问题。我尝试使用requirejs,所以我在我的视图中添加了以下两行代码:这是我的app.js代码:requirejs.config({baseUrl: 'js/lib',paths: {app: '../app'}});requirejs(['jquery', 'canvas', 'app/sub'],function ($, canvas, sub) {});require('./bootstrap');window.Vue = require('vue');Vue.use(require('vue-chat-scroll'));Vue.component('chat-message', require('./components/ChatMessage.vue'));Vue.component('chat-log', require('./components/ChatLog.vue'));Vue.component('user-log', require('./components/UserLog.vue'));Vue.component('chat-composer', require('./components/ChatComposer.vue'));

0
0 Comments

问题出现的原因是缺少require.js文件。解决方法是将require.js文件添加到项目中。可以从网址https://requirejs.org/docs/release/2.3.5/minified/require.js下载require.js文件。

此外,还可以参考这个链接中类似问题的解决方法。对于问题中提到的app.js文件,需要进行相应的更改以适应requirejs的使用。

0
0 Comments

当在Laravel框架中出现“require is not defined”错误时,原因是不能直接引用resources/assets/js/app.js文件。实际上,require是由webpack工具使用的,它会将JavaScript资源捆绑到一个单独的文件中。

解决方法是运行npm run development,然后在视图文件中引用js/app.js

所以,在视图文件中的脚本应该像这样:

<script type="text/javascript" data-main="js/app.js" src="https://requirejs.org/docs/release/2.3.5/minified/require.js"></script>
<script src="js/app.js"></script>

可以移除requirejs的引用。可以参考laravel-mix.com/docs/3.0/workflow中的更详细的示例。

0