如果你想建立這個與webpack,你的第一步實際上是使用任何你的入口點是import
或require
其他庫/文件。
因此,舉例來說,如果你在你的wepback.config.js切入點是
entry: {
bundle: './src/js/api/index.js',
vendor: VENDOR_LIBS
},
然後該文件需要包含imports
您希望在該文件中包含。然後這些文件包含其他文件等,直到您將所有文件通過樹的根目錄(索引)捆綁在一起。以一種非常簡單的方式,這就是webapack所做的:它會導入/需要您的文件,捆綁它們,並根據您的配置加載它們。
爲了加載/編譯你少,你將不得不將它作爲你的JS文件的導入,或者你也可以使用extract-text-webpack-plugin生成一個單獨的CSS包。
這是我可以給這個問題的最好的概述,因爲我不知道你想要把你的代碼捆綁它的確切方式。如果您有這些問題,請隨時提問,並且我會編輯我的答案以嘗試並幫助解答。
編輯:這是一箇舊配置的例子,我已經將SASS提取到它自己的文件中。它使用v1,但它對於webpack 2或多或少都是一樣的。我現在只是沒有示例:(Here是在第2版中使用extract
的文檔,有點不同但不是太多)。
module.exports = {
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'babel-polyfill',
'./app/index',
],
resolve: {
extensions: ['', '.js']
},
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js',
publicPath: '/public/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new ExtractTextPlugin('public/app.css'),
new DashboardPlugin(dashboard.setData)
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, '..', 'app')
},
// JSON
{
test: /\.json$/,
loaders: ['json-loader']
},
// Img
{
test : /\.(png|jpg|svg|eot|ttf|woff|raw)$/,
loader: 'url-loader?limit=4096'
},
// Sass
{
test: /\.scss$/,
loaders: [ 'style', 'css?sourceMap', 'postcss', 'sass?sourceMap' ]
}]
},
postcss: [autoprefixer({ browsers: ['last 2 versions'] })],
}
主要編輯:
一個例子回購存在的位置:https://github.com/thesublimeobject/webpack2example
運行的WebPack將捆綁您的文件,從我創建了一個index.js文件導入。這捆綁了我通過npm安裝的所有外部庫,並將它們從index.html文件中刪除。我沒有測試任何生成的代碼,因爲這超出了對這個問題的答案。您的LESS也將被捆綁到dist文件夾中作爲一個單獨的文件,您將需要在HTML中提供一個鏈接(這是我忘記添加鏈接到/ dist的一件事,但我相信你可以做到這一點
此模板不使用webpack ...你是否試圖用webpack替換gulp實現? - 如果是這樣,你可以顯示你迄今爲止所做的事嗎? – thesublimeobject
我知道它沒有使用webpack,是的,我試圖用webpack替換gulp,到目前爲止我所做的是在我的文章的第二個鏈接上,webpack項目,我只是把所有內容放在一個文件夾中,並把app.js文件作爲入口點,但我不知道如何將每個單獨的模板文件包含到生成的bundle.js – Juan
哦對不起,我錯過了那個鏈接!讓我看看,對不起。 – thesublimeobject