關(guān)鍵問題:artTemplate 的 webpack 環(huán)境中,頁面怎么引用Bootstrap、jquery、css、js 插件
我看了artTemplate官方?jīng)]有提供webpack 參考項目,文檔有點少,沒辦法做到完全解決。
我項目代碼如下:
webpack 配置
const {resolve} = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
//入口文件的配置項
entry: {
'index': resolve(__dirname, './src/views/index/index.js'),
'about': resolve(__dirname, './src/views/about/index.js'),
'contact': resolve(__dirname, './src/views/contact/index.js')
},
//出口文件的配置項
output: {
filename: '[name].js',
},
//模塊:例如解讀CSS,圖片如何轉(zhuǎn)換,壓縮
module: {
rules: [
{
test: /\.(jpg|png)$/,
loader: "file-loader"
}, {
test: /\.art$/,
loader: "art-template-loader",
options: {
// art-template options (if necessary)
// @see https://github.com/aui/art-template
}
},
{
test: /\.(jsx|js)$/,
use: {
loader: 'babel-loader',
options: {
presets: [
"env", "react"
]
}
},
exclude: /node_modules/
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: "file"
},
{
test: /\.(woff|woff2)$/,
loader: "url?prefix=font/&limit=5000"
},
{
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/octet-stream"
},
{
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=image/svg+xml"
},
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'scss-loader']
}
]
},
//插件,用于生產(chǎn)模版和各項功能
plugins: [
new HtmlWebpackPlugin({
template: resolve(__dirname, './src/views/index/index.art'),
filename: './index.html',
}),
new HtmlWebpackPlugin({
template: resolve(__dirname, './src/views/about/index.art'),
filename: './about.html',
}),
new HtmlWebpackPlugin({
template: resolve(__dirname, './src/views/contact/index.art'),
filename: './contact.html',
})
],
//配置webpack開發(fā)服務功能
devServer: {}
}
首頁代碼:
路徑:src/views/index/index.js
const render = require('./index.art');
require('bootstrap')
module.exports = render;
路徑:src/view/index/index.art
這個采用類似ejs模板引擎的模板,這不是關(guān)鍵問題。
在 index.js 里面寫了require('bootstrap'),但是打包出來沒看到style 標簽,這個問題讓我感到頭疼,所以在這里拜托各位大神幫忙,謝謝了
CSS 可以直接引入
`requier('bootstrap/dist/css/bootstrap.css')`
jQuery 可以通過 webpack.ProvidePlugin
插件
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
https://webpack.js.org/plugins/provide-plugin/#usage-jquery
或者可以在 layout.art
中使用 CDN 資源
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{{block 'title'}}My Site{{/block}}</title>
<link rel="stylesheet">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
{{block 'head'}}
<link rel="stylesheet" href="main.css">
{{/block}}
</head>
<body>
{{block 'content'}}{{/block}}
</body>
</html>
常用的開源免費 CDN bootcdn
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務機構(gòu),發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。