Yeh*_*ael 3 javascript webpack
我正在尝试创建一个包但我需要在"vendor"文件夹之前加载一些.js.结构如下:
-> assets
->js
->controller
->services
->directives
->vendor
app.js
Run Code Online (Sandbox Code Playgroud)
当我创建捆绑包时,它将app.js作为第一个,但我需要"vendor"文件夹的.js作为第一个.
const webpack = require('webpack')
const path = require('path')
module.exports = {
mode: "development",
entry: {
main:[path.resolve(__dirname, 'assets/js/vendor/jquery.min.js'),
path.resolve(__dirname, 'assets/js/vendor/sha256.min.js'),
path.resolve(__dirname, 'assets/js/vendor/bootstrap.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular.js'),
path.resolve(__dirname, 'assets/js/vendor/smoothscroll.min.js'),
path.resolve(__dirname, 'assets/js/vendor/jquery.mask.min.js'),
path.resolve(__dirname, 'assets/js/vendor/cpf.min.js'),
path.resolve(__dirname, 'assets/js/vendor/clipboard.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-animate.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-cookies.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-locale_pt-br.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-ui-router.min.js'),
path.resolve(__dirname, 'assets/js/vendor/bootstrap-angular-validation-all.min.js'),
path.resolve(__dirname, 'assets/js/vendor/loading-bar.min.js'),
path.resolve(__dirname, 'assets/js/vendor/nya-bs/nya-bs-select.js'),
path.resolve(__dirname, 'assets/js/vendor/slick/slick.min.js'),
path.resolve(__dirname, 'assets/js/vendor/ngCpfCnpj.js'),
path.resolve(__dirname, 'assets/js/vendor/match-media.js'),
path.resolve(__dirname, 'assets/js/app.js'),
path.resolve(__dirname, 'assets/js/services/message.js'),
path.resolve(__dirname, 'assets/js/services/settings.js'),
path.resolve(__dirname, 'assets/js/services/urlRedeSocial.js'),
]
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'temp/builder'),
}
}
Run Code Online (Sandbox Code Playgroud)
我可能错了,但我想你要找的是这个:
entry: {
app: [
path.resolve(__dirname, 'assets/js/app.js'),
path.resolve(__dirname, 'assets/js/services/message.js'),
path.resolve(__dirname, 'assets/js/services/settings.js'),
path.resolve(__dirname, 'assets/js/services/urlRedeSocial.js'),
],
vendor: [
path.resolve(__dirname, 'assets/js/vendor/jquery.min.js'),
path.resolve(__dirname, 'assets/js/vendor/sha256.min.js'),
path.resolve(__dirname, 'assets/js/vendor/bootstrap.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular.js'),
path.resolve(__dirname, 'assets/js/vendor/smoothscroll.min.js'),
path.resolve(__dirname, 'assets/js/vendor/jquery.mask.min.js'),
path.resolve(__dirname, 'assets/js/vendor/cpf.min.js'),
path.resolve(__dirname, 'assets/js/vendor/clipboard.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-animate.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-cookies.min.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-locale_pt-br.js'),
path.resolve(__dirname, 'assets/js/vendor/angular-ui-router.min.js'),
path.resolve(__dirname, 'assets/js/vendor/bootstrap-angular-validation-all.min.js'),
path.resolve(__dirname, 'assets/js/vendor/loading-bar.min.js'),
path.resolve(__dirname, 'assets/js/vendor/nya-bs/nya-bs-select.js'),
path.resolve(__dirname, 'assets/js/vendor/slick/slick.min.js'),
path.resolve(__dirname, 'assets/js/vendor/ngCpfCnpj.js'),
path.resolve(__dirname, 'assets/js/vendor/match-media.js')
]
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'temp/builder'),
}
Run Code Online (Sandbox Code Playgroud)
这将产生两个单独的包.app.bundle.js和vendor.bundle.js.然后,如果您正在使用HtmlWebpackPlugin,您可以执行以下操作来控制订单:
new HtmlWebpackPlugin({
chunks: ['vendor', 'app'],
chunksSortMode: 'manual'
})
Run Code Online (Sandbox Code Playgroud)