7. Beehive Data Group
網路應用程式崛起
不再只是單純的顯示圖片文字資訊,更多互動與操作行為
● 網頁初始化的過程有更多的 JavaScript
● 可以在現代的瀏覽器上做更多事
● 較少全頁重新載入的行為 ? 甚至更多程式碼在單一頁面
Web Site
website is defined by its
content
Web Application
web application is defined by
its interaction with the user
27. Beehive Data Group
Try 1
entry.js
index.html
run
document.write("It works.");
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript" src=/slideshow/honeys-data-dinner7-webpack/64051818/"bundle.js" charset="utf-8"></script>
</body>
</html>
$ webpack ./entry.js bundle.js
28. Beehive Data Group
Try 2
content.js
entry.js
run
module.exports = "It works from content.js.";
document.write(require("./content.js"));
$ webpack ./entry.js bundle.js
29. Beehive Data Group
Try 3 - 第一個 LOADER
Webpack 預設只能夠處理 js 檔,需要 css-loader 來處理 css,再透過
style-loader 來把樣式套用到 DOM 上。
style.css
entry.js
$ npm install css-loader style-loader
body {
background: yellow;
}
require("!style!css!./style.css");
document.write(require("./content.js"));
30. Beehive Data Group
Try 4 - 綁定 LOADERS
實務上並不希望一直重複撰寫這種長長的 pipe require("!style!css!./style.
css");
根據副檔名綁定設定其 loaders,就只要寫 require("./style.css")
entry.js
run
$ webpack ./entry.js bundle.js --module-bind 'css=style!css'
require("./style.css");
document.write(require("./content.js"));
單引號,雙引號
要加跳脫字元