我想我自己找到了这个。简短的版本是您可以使用以下任一方式构建所有资产
npm run dev
npm run production
或者,使用具有以下任一选项的 npm 监视模式(后者是轮询版本,具有通常的轮询折衷以实现 perf/sure-to-work)
npm run watch
npm run watch-poll
更高层次——Laravel 为其npm
基于集成的品牌打上烙印。在 Laravel 5.3 中,这些集成被称为Laravel Elixer。在 Laravel 5.4 中,这些集成被称为Laravel Mix。
Laravel Spark 集成的源入口点(至少在 4.0 版本中)是
#File: resources/assets/js/app.js
require('spark-bootstrap');
require('./components/bootstrap');
var app = new Vue({
mixins: [require('spark')]
});
require 语句会引入其他 javascript 文件(所有这些都由 web-pack 在您使用时解析/编译npm run
)。例如,require
上面的两个语句拉入
spark/resources/assets/js/spark-bootstrap.js
./resources/assets/js/components/bootstrap.js
反过来,每个文件都会引入许多其他文件。PHP include/require
o-rama——为 javascript 重新发明!
最终,require-graph 将加载以下文件
#File: resources/assets/js/spark-components/settings/teams/create-team.js
var base = require('settings/teams/create-team');
Vue.component('spark-create-team', {
mixins: [base]
});
这就是定义spark-create-team
组件的内容。基本方法在require('settings/teams/create-team')
文件中定义。
#File: spark/resources/assets/js/settings/teams/create-team.js
module.exports = {
/*...*/
}
鉴于这一切,没有什么好地方可以在不干扰核心 laravel spark 代码的情况下删除自己的组件。除非有人在评论中以其他方式说服我,否则我会把我的放在resources/assets/js/app.js
文件中——如果只是为了让它们都放在一个中心位置。