我目前在潜水的过程分为Laravel混合,到目前为止,虽然我完全理解Laravel混合以及它是如何工作的,我想了解多一点关于常见的做法和“入门指南” ......合并多个文件与Laravel混合
例如,考虑这个文件结构:
/resources/assets/js/app.js (all global functions)
/resources/assets/js/index/index.js (functions specific to index.js)
/resources/assets/js/about/about.js (functions specific to about.js)
/resources/assets/js/contact/contact.js (functions specific to contact.js)
现在,理想情况下,我想下面结合和精缩通过以下方式:
/public/js/index/index-some_hash.js (including app.js)
/public/js/about/about-some_hash.js (including app.js)
/public/js/contact/contact-some_hash.js (including app.js)
据我了解,要实现这一目标的方式是类似如下:
// Index
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/index/index.js'
], 'public/js/index/index.js').version();
// About
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/about/about.js'
], 'public/js/about/about.js').version();
// Contact
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/contact/contact.js'
], 'public/js/contact/contact.js').version();
我的问题
很简单,我想知道,如果上面是做正确的方法是什么我正在努力?有没有更好的方法,或者更常见的方法来实现这一点?
如果上述结构是错误的,还有其他的方式我的文件应该合并,那么请分享你的知识。然而,除非有很好的理由,我想避免如下:
- 服二为每个页面即app.min.js和index.min.js单独的文件。 这需要每页两个查找,最好应该是尽可能
- 服务相同的文件在我的网站的所有网页少。 服务代码,这是不会使用它的网页是资源的浪费,不管缓存...
一个想法...
我注意到一行代码中的一个JS文件; require('./bootstrap');
。叫我老土,但我从来没有在JavaScript中看到了这一点(我假设它是从的node.js)。这就是说,显然是刚刚加载bootstrap.js
文件作为依赖,特定的文件。因此,考虑到这一点,将在下面的解决方案更好:
about.js
require('./app'); // Include global functions
// Do some magic here specifically for the 'about' page...
webpack.mix.js:
mix.js(['resources/assets/js/*/*.js'); // For all pages
如果这是一个更好的解决方案,那么我如何使用SASS包含文件呢?有没有办法可以改善上述情况?
我认为sass有一个'import'语句,它的行为像'require'在javascript中 –
@CerlinBoss完美,这是否意味着我的'可能'解决方案比第一个更好? –
我能看到的唯一区别是一个纤细的混合文件。 –