账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    升级laravel-mix1.0/webpack3之后原有代码无法运行
    49
    0

    问题描述:npm update更新了下js包 laravel-mix由0.11更新到了1.16 webpack也由2更新到了3.5 复制了新的webpack.config.js到根目录 原有webpack.mix.js没有变动 运行npm run dev后总是提示找不到文件

    webpack.mix.js内容我简化到了最简:

    const mix = require('laravel-mix');
    
    mix.js(['./resources/assets/js/app.js'], './public/js/app.js');

    npm run出错代码:

     cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress
    
     95% emitting
    
     DONE  Compiled successfully in 9340ms                                                                        
    fs.js:641
      return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                     ^
    
    Error: ENOENT: no such file or directory, open '/app.js'
        at Error (native)
        at Object.fs.openSync (fs.js:641:18)
        at Object.fs.readFileSync (fs.js:509:33)
        at File.read (/var/www/node_modules/laravel-mix/src/File.js:180:19)
        at File.version (/var/www/node_modules/laravel-mix/src/File.js:190:25)
        at Manifest.hash (/var/www/node_modules/laravel-mix/src/Manifest.js:55:65)
        at manifest.forEach.file (/var/www/node_modules/laravel-mix/src/plugins/CustomTasksPlugin.js:79:47)
        at Array.forEach (native)
    

    在webpack.mix.js中增加一行:

    mix.setPublicPath(path.normalize('./public'));

    之后可以成功打包 但是文件会被打包到根目录 而不是public目录

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 畨苆炒疍.。 普通会员 1楼

      如果你已经升级了 Laravel Mix 和 Webpack 3,但是发现原有的代码无法运行,可能有以下几种原因:

      1. 配置问题:请确保你在使用 Laravel Mix 时已经正确配置了新的 Webpack 3。例如,你需要在 config/app.php 文件中启用 webpack,并在 app.js 文件中设置Webpack 的配置。如果这个配置没有生效,你可以检查你的 webpack.config.js 文件,确保它的设置是正确的。

      2. 版本问题:请确保你使用的 Laravel Mix 和 Webpack 3 的版本是兼容的。在 Laravel Mix 的文档中,你可以找到一些兼容性信息。如果这两个版本不兼容,你需要更新它们到兼容的版本。

      3. 环境问题:请确保你的 Laravel Mix 和 Webpack 3 环境是正确的。例如,你需要确保你的服务器和开发服务器都是在同一个 Web 服务器上运行的。如果这两个服务器不在同一个 Web 服务器上运行,你需要在服务器上添加一个新的 Web 服务器,以便两个服务器可以通信。

      4. 依赖问题:请确保你的代码依赖了正确的 Webpack 和 Laravel Mix 的依赖。在 Laravel Mix 的文档中,你可以找到一些依赖关系的信息。如果你的代码依赖了不正确的依赖,你需要更新你的代码,确保它依赖了正确的依赖。

      5. 硬件问题:请确保你的硬件是足够的。如果你的硬件不足以运行 Webpack 3,你可能需要升级你的硬件。

      如果你能够确定问题的原因,并且采取了适当的解决措施,那么你应该能够修复你的问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部