2016-07-07 77 views
1

我有一個關於npm run的問題。瞭解npm腳本(webpack-dev-server)

( 'NPM運行開發' 是https://github.com/vuejs/vue-hackernews/blob/gh-pages/package.json

{ 
    "name": "vue-hackernews", 
    "version": "1.0.0", 
    "description": "HN clone with Vue.js using HN API", 
    "scripts": { 
    "dev": "webpack-dev-server --inline --hot --no-info", 
    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules" 
    .... 
    }, 

爲什麼 '新公共管理運行開發' 順利的話,

但不會像 'NPM運行的WebPack-dev的服務器'

其它命令

或只是'webpack-dev-server'拋出錯誤?

'npm run'是做什麼的?不只是執行「腳本」屬性的值?

(我在想'命令完全一樣的東西')

謝謝!

+0

如果我全局安裝了webpack-dev-server,我可以在任何地方使用'webpack-dev-server'嗎?這意味着,npm run始終會搜索模塊文件夾的完全相同的名稱? –

+0

做了我的[回覆](http://stackoverflow.com/a/42351919/2545680)有幫助嗎? –

回答

0

只是'webpack-dev-server'拋出錯誤?

因爲要使其工作,需要將webpack-dev-server添加到PATH環境變量中。如果你使用npm run script-namethen

除了外殼的預先存在的PATH,NPM運行增加了 node_modules/.bin文件提供給腳本的路徑。

檢查node_modules/.bin文件夾,你會看到webpack-dev-server那裏,這個可執行文件運行js包這樣的:

node "$basedir/../webpack-dev-server/bin/webpack-dev-server.js" "[email protected]" 

另一種方法是這樣的,如果你在基於Unix ENV:

$(npm bin)/webpack-dev-server'