这次,我试图在laravel 5.2项目中使用npm web3软件包。我对使用npm完全陌生,而在laravel中也是如此。
到目前为止,我的package.json文件中包含以下内容-
{
"private": true,
"devDependencies": {
"gulp": "^3.9.1"
},
"dependencies": {
"bootstrap-sass": "^3.0.0",
"laravel-elixir": "^2.0.0",
"web3": "^1.0.0-beta.36"
}
}
当我执行npm install
时,所有节点依赖项都安装在根目录中的node_modules
中。现在,我试图弄清楚如何在public/assets/js/app.js
文件中使用此软件包。
使用该软件包是否还需要使节点服务运行?
npm版本:6.4.1
节点版本:v8.11.4
非常感谢您的帮助。
由于克服了我面临的8.0的一些问题,因此将我的节点包降级为6.0。
节点版本:v6.0.0
npm版本:3.8.6
新的package.json:
{
"private": true,
"scripts": {
"prod": "gulp --production",
"dev": "gulp watch"
},
"devDependencies": {
"@types/node": "^10.9.4",
"gulp": "^3.9.1",
"laravel-elixir-rollup": "^0.3.3",
"laravel-elixir-webpack": "^1.0.1",
"require-dir": "^0.3.2"
},
"dependencies": {
"bootstrap-sass": "^3.0.0",
"laravel-elixir": "^5.0.0",
"web3": "^1.0.0-beta.36"
}
}
新的gulpfile.json:
var elixir = require('laravel-elixir');
var path = require('path');
require('laravel-elixir-webpack');
elixir(function(mix) {
mix.webpack(
'./node_modules/web3/src/index.js',
'./public/js/web3-compiled.js'
);
});
当我在控制台中运行npm run dev
时,它将停止完成操作,如下所示-
[digvijay@Digvijays-MacBook-Air:/var/www/html/estatebaron$ npm run dev
> @ dev /private/var/www/html/estatebaron
> gulp watch
node_modules/nan
[17:10:07] Using gulpfile /private/var/www/html/estatebaron/gulpfile.js
[17:10:07] Starting 'watch'...
[17:10:07] Finished 'watch' after 18 ms
我在这里期望的是在web3-compiled.js
目录中创建的js文件名public/js
,但是现在不会发生。我在这里想念什么吗?
答案 0 :(得分:0)
如果您使用默认的laravel 5.2配置,则可能会丢失package.json
see this
因此,要使其正常运行,请运行npm run dev
,但请确保使用gulpfile.js
正确配置gulp。在https://laravel.com/docs/5.3/elixir和https://github.com/gulpjs/gulp/tree/v3.9.1/docs