javascript laravel-mix - JS目标文件放在错误的路径中

rsl1atfo  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(117)

运行flintstones主题here的Concrete CMS教程会遇到一个问题,如果我将源js和css文件放在/Documents/.. development文件夹中,并且该站点由MAMP提供服务,则CSS文件会转到正确的文件夹,但JS文件不会。
webpack.mix.js包括:

var publicDir = '/Applications/MAMP/htdocs/dlm/application/themes/flintstone';
mix.setPublicPath(publicDir);

mix
    .sass('assets/scss/main.scss', 'css/main.css')
    .js('assets/js/main.js', '/js/main.js');

这就把CSS放在了正确的位置:"/应用程序/MAMP/htdocs/dlm/应用程序/主题/燧石/css/main.css "
但是JS文件放在这里:/Applications/MAMP/dlm/htdocs/application/themes/flintstone/Applications/MAMP/htdocs/dlm/application/themes/flintstone/js/main.js
似乎JS端不能进行根文件夹重定向。有人能解释一下吗?
谢谢。

ykejflvf

ykejflvf1#

进一步研究webpack.mix.js,找到了答案:

var publicDir = '/Applications/MAMP/htdocs/dlm/application/themes/flintstone';
mix.setPublicPath(publicDir);

mix
    .webpackConfig({
        output: {
            filename:'js/main.js',
            path: '/Applications/MAMP/htdocs/dlm/application/themes/flintstone',
        },
    })
    .sass('assets/scss/main.scss', 'css/main.css')
    .js('assets/js/main.js', 'js/main.js');

这似乎是将main.css和main.js放入正确的文件夹中,并且Concrete主题似乎正在正确构建。
据我所知,webpackConfig覆盖了. js("assets/js/main.js'," js/main.js')的"输出"文件方面;行。
如果我将webpackConfig.filename替换为"js/[ name]. js",则目标将再次包含创建"js/应用程序/MAMP/htdocs/dlm/应用程序/主题/flintstone/main.js"的路径。
希望这个有用。

相关问题