我正在从brunch迁移到Webpack(使用Laravel Mix),并且试图实现以前使用的相同工作流程,基本上是:
请考虑以下假设的文件夹结构:
public/
|-- dist/
| |-- site.js
| |-- site.css
|-- javascripts/
| |-- application.ts
| |-- components/
| | |-- dateTimePicker.ts
| |-- dashboard/
| | |-- index.ts
|-- stylesheets/
| |-- application.sass
对于配置,我使用了类似的东西:
mix.setPublicPath('public');
mix.ts('public/javascripts/application.ts', 'dist').sourceMaps();
mix.sass('public/stylesheets/application.scss', 'dist');
现在,对于每个页面,我希望能够做到:
<script>
var module = require("dashboard/index");
module.Init();
</script>
(这种方法类似于人们过去对Ruby on Rails和Sprockets和清单文件所做的工作。)
仅强调一下,目标是:
PS。:我可能是错的,但是Brunch不会污染全局名称空间以公开模块。