【问题标题】:Laravel 5.4 specify files for npm run watchLaravel 5.4 为 npm run watch 指定文件
【发布时间】:2017-05-23 16:11:36
【问题描述】:

Laravel mix docs 表示npm run watch 将运行“所有相关文件以进行更改”。但是我在哪里可以看到哪些文件是相关的?

具体来说,我在resources/assets/js/components 中有一些我想编译的文件。但是假设我有一个我也想包含的任意文件。

如何指定?

澄清

我的原帖可能不够清楚,所以我会再试一次。

我正在寻找的是 TRIGER npm run watch 用于(重新)编译所有资产的文件和/或目录的列表;以及如何编辑该列表。

【问题讨论】:

    标签: laravel npm laravel-mix


    【解决方案1】:

    我在哪里可以看到哪些文件是相关的?

    webpack.mix.js 文件中包含的所有文件。

    具体来说,我在 resources/assets/js/components 中有一些我想编译的文件。

    只需将它们添加到webpack.mix.js 文件中,例如:

    mix.js([
        'resources/assets/js/components/foo.js',
        'resources/assets/js/components/ba.js'
    ], 'public/js/app.js');
    

    一旦你编辑它们,webpack 会将你的文件编译成app.js 文件。

    但是假设我有一个我也想包含的任意文件。

    同样的伎俩。将其添加到webpack.mix.js,就像你需要的一样(css、js、vue、sass、less):

    mix.styles([
    'resources/assets/css/my-arbitrary-style.css'
    ], 'public/css/all-css.css');
    

    注意:如果您复制整个目录,例如:

    mix.copyDirectory('resources/assets/js/components', 'public/js/components');
    

    ... 使用 watch webpack 会将您的组件目录复制为public/js/components/resources/assets/js/components

    【讨论】:

    • 嗯,..我不确定这是否完全正确。您所描述的是一种指定我希望将哪些文件 mix-ed 到生成的 public/js/app.js 文件中的方法。这很棒,我确实使用它;当npm run watch/dev 编译时,它已经包含了我的js/components/*.vue 文件,而无需我指定。但是我尝试了你所说的,我添加了'resources/assets/js/components/UsernameList.vue',它出错了There are multiple modules with names that only differ in casing。因此,watch-ed 文件的列表似乎在其他地方。
    • There are multiple modules with names that only differ in casing 它看起来确实像 laravel。你在用Angular吗?导致在错误区分大小写的情况下进行导入时会提示此错误
    • 不,不使用 Angular。但是同样,默认的 L5.4 安装已经在 public/assets/js/components 中的资产中编译,因此无需将它们添加到 webpack.mix/config.js。我的问题更多是关于哪些文件触发npm run watch,以及如何编辑该列表。我将更新问题以更具体。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2017-10-22
    • 2021-06-30
    • 2020-10-01
    • 2017-12-23
    • 2020-08-25
    • 1970-01-01
    相关资源
    最近更新 更多