<dfn id="2npgb"></dfn>
<dfn id="2npgb"><pre id="2npgb"></pre></dfn>

<div id="2npgb"><form id="2npgb"></form></div>
<tr id="2npgb"></tr>

鍍金池/ 問答/PHP  HTML/ 升級laravel-mix1.0/webpack3之后原有代碼無法運行

升級laravel-mix1.0/webpack3之后原有代碼無法運行

問題描述: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目錄

回答
編輯回答
久礙你

從來沒有用過laravel-mix,
但是如果我碰到這種問題,在文檔和搜索引擎都沒有辦法幫助我解決的時候,我會哪出大殺招,

去 node_modules 目錄下,調試啊,
通過出錯信息,可以看到

/var/www/node_modules/laravel-mix/src/File.js

哪就去打開這個文件,大不了用console.log 一步步調試啊, 看看到底是為什么啊

2018年5月14日 07:03