Yeoman 與 Grunt 或 Gulp 等建置工具有何不同?
Yeoman 與 Brunch 或 Ember-cli 等工具有何不同?
npm
似乎已安裝 Yeoman,但 yo
仍顯示「找不到指令」。
我可以將 livereloading 與自訂網路伺服器一起使用嗎?
在複製使用 Yeoman 產生的網頁應用程式後,我該如何做?
如果 npm install -g yo
在 OS X 中失敗並出現「sh:node:找不到指令」,我該如何做?
這個專案的目標是什麼?
Yeoman 的短期目標是為開發人員提供進階的工具工作流程,讓他們可以減少處理程序的時間,而將更多時間用於建置精美的網頁應用程式。最初,我們希望能讓開發人員盡可能輕鬆地使用開發人員習慣使用現有的架構和工具。
長期而言,這個專案也可以協助開發人員透過網頁元件等現代技術建立應用程式。
什麼是命令列介面?
命令列介面是開發人員透過文字指令與系統互動的手段。在 Linux 或 OSX 上,這通常是使用終端機完成的。在 Windows 上,命令殼層 (cmd.exe
) 或 PowerShell,但我們建議您改用 cmder
來提升體驗。
什麼是套件管理員?
套件管理員是一種自動化流程的工具,用於安裝、升級、組態和管理專案的依賴項。套件管理員的範例包括 npm (Node.js)、Bower (網頁)、Pypi (Python)、Gem (Ruby)、Composer (PHP)、NuGet (.NET) 等。
Yeoman 與 Grunt 或 Gulp 等建置工具有何不同?
Yeoman 建立在多個開源工具上,以提供偏好的工作流程,協助開發人員更輕鬆地完成常見的任務。我們使用 Gulp 和 Grunt 工作。這些工具支援我們的基礎建置程序和任務外掛架構。
在此架構上,我們已經大幅自訂的任務、個人資料和系統,它們能完美搭配並為開發人員提供像產生器系統和 Bower 整合等功能。Yeoman 會組態設定檔並輕鬆設置 Sass、CoffeeScript 和 Require.js。提供其他功能,例如連線、進階 serve
和 init
。
開發人員可以自由自訂 Yeoman 初始化的任何組態。
Yeoman 與 Brunch 或 Ember-cli 等工具有何不同?
我們喜愛 Brunch 和 Ember-cli 等工具,認為它們為想要使用 Backbone.js 和 Ember 等架構建立架構的開發人員提供了很棒的解決方案。有了 Yeoman 產生器系統,我們已將 Rails 產生器系統移植到支援 Node,我們認為有一個有趣的機會可以將應用程式架構帶向一個新的方向,讓任何開發人員都更容易撰寫架構、支援多個測試架構、擷取自己的開頭樣版,方便地重用它們,等等。
我要如何註冊或取消註冊 Bower 上的套件?
可以使用 register
指令來註冊 Bower 上的套件。例如 bower register myawesomepackagename git://github.com/youraccount/yourrepo
。建議先閱讀 Bower 文件,以確保您的儲存庫包含必要的檔案,以支援 install
。
Yeoman 專案將會提供熱門架構的產生器嗎?
我們的目標是為開發人員和社群提供所需工具,讓他們能夠輕鬆地建立豐富的網路應用程式。為了實現這個目標,我們將為產生器系統提供絕佳的 API (和文件),提供如何實作範例的範例,但主要依賴社群建立和維護熱門架構的產生器。這讓我們可以專注於提升 Yeoman 的效能,而不用分心維護大量的產生器。
您可以在 GitHub 上查看 官方支援的產生器完整清單。
Yeoman 依據什麼授權釋出?
Yeoman 是依據 BSD 授權釋出。
我在透過 GitHub 送出問題之前,應該做什麼?
請務必閱讀 送出問題指南。
npm
似乎已安裝 Yeoman,但 yo
仍然顯示「找不到指令」。
您的 PATH 可能尚未考量到全域 NPM 模組。稍後將提供較好的文件,在此之前,請閱讀 這則留言 和 這個討論串。
通常這會發生在您透過 Homebrew 安裝 Node 的時候,因為它將 Node 模組放在不在您的 PATH 中的目錄中。
從 Homebrew
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
進階使用者的快速解決方法是在您的 .bashrc
檔案中新增以下內容: export PATH=/usr/local/share/npm/bin:$PATH
對於初學者,請執行 brew uninstall node
,然後從 網站 下載並安裝 Node。
我收到 EMFILE,開啟檔案太多
EMFILE 表示您已達到作業系統開啟檔案數量的限制。我們無法處理這個問題,但您可以自行增加限制。
將 ulimit -n [files 數量]
新增到您的 .bashrc/.zshrc 檔案,以增加浮動限制。
如果您達到作業系統硬性限制,您可以遵循這個 StackOverflow 回覆 來增加限制。
我應該使用什麼記錄我的應用程式
查看 #152 ticket 針對建議的產生文件解決方案 中的詳細資訊。
我要如何停用 Insight 或更新通知?
您可以使用指令行旗標停用它們。例如 yo webapp --no-insight
Insight: --no-insight
更新通知: --no-update-notifier
你也可以新增 yeoman_test
作為環境變數並使用任意值,來永久停用這兩個環境變數。
我可以使用自訂的 Web 伺服器來進行熱重載嗎?
當然可以!你可以從 Gruntfile/Gulpfile 中移除 connect
函式,並手動將這個程式碼片段插入 HTML 中
<!-- livereload script -->
<script>document.write('<script src="http://'
+ (location.host || 'localhost').split(':')[0]
+ ':35729/livereload.js?snipver=1" type="text/javascript"><\/script>')
</script>
然後,僅執行 serve
函式,像你平常那樣就可以享受自動重新整理頁面的功能。
在複製由 Yeoman 所產生的 Web 應用程式後,我該怎麼做?
Yeoman 會幫你建立一個 .gitignore
檔案,這個檔案將 node_modules
和 bower_components
資料夾新增至黑名單中。所以,若要執行 serve
函式並下載列於 bower.json
檔案中的 Javascript 依存項,你需要同時執行
$ npm install
$ bower install
並檢查這些資料夾是否正確建立。
如果在 OS X 上以 `sh: node: command not found` 而執行 npm install -g yo
失敗的話,我可以怎麼做?
嘗試
sudo chmod a+rx /usr/local/bin /usr/local/bin/node
驗證並再次執行這段程式碼。說明:NPM 以非管理者身分執行安裝,如果無法存取二進位檔案,可能會導致安裝失敗而顯示為未找到 node。