Laravel:将node_modules编译为app.js和app.css

时间:2017-10-08 19:12:06

标签: node-modules npm-run

我使用composer

创建了一个新的Laravel项目
./composer.phar create-project laravel/laravel --prefer-dist ProjectName

接下来,我已经通过npm添加了所需的包。我已经注意到--save开关是必要的,以使其正常工作:

npm install jquery --save
npm install bootstrap --save
npm install font-awesome --save

当我在此目录中显示包时:

npm list --depth=0
@ /var/www/ProjectName
├── axios@0.16.2
├── bootstrap@3.3.7
├── bootstrap-sass@3.3.7
├── cross-env@5.0.5
├── font-awesome@4.7.0
├── jquery@3.2.1
├── laravel-mix@1.4.5
├── lodash@4.17.4
└── vue@2.4.4

没有任何内容被列为无关。

现在,我尝试将这些资产(js和css)编译成2个文件,这些文件很容易包含在刀片模板中。 文档说我必须使用npm run dev,但这会失败,带来你能想象到的最神秘的信息。

events.js:141
    throw er; // Unhandled 'error' event
    ^

附加功能

  • 调用堆栈:

    Error: spawn node_modules/webpack/bin/webpack.js ENOENT
        at exports._errnoException (util.js:907:11)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:189:32)
        at onErrorNT (internal/child_process.js:363:16)
        at nextTickCallbackWith2Args (node.js:511:9)
        at process._tickCallback (node.js:425:17)
        at Function.Module.runMain (module.js:443:11)
        at startup (node.js:140:18)
        at node.js:1043:3
    
  • npm run dev命令会产生以下命令:

    cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
    
  • 版本:

    npm ERR! node -v v4.8.2
    npm ERR! npm -v 1.4.21
    

我也将整个输出放在网上: output

为什么没有可能编译资产?我该如何解决这个问题?

编辑:

好吧找到它了!

不知怎的,我重新安装了nodejs,没有遗留版本。 这些是我运行的命令:

sudo apt-get remove nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get -y install nodejs
sudo apt-get install dh-autoreconf
rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force
npm install
npm install bootstrap --save
npm list --depth=0
npm run dev

1 个答案:

答案 0 :(得分:0)

尝试删除node_modules /

的内容
rm -Rfv your_project_path/node_modules/

然后

npm install

如果有帮助,请告诉我。