我正在使用MEAN堆栈构建Web应用程序。
我正在使用Webpack捆绑文件。
在我的项目中,我有两个名为1.public / assets的文件夹(在此资产文件夹中,我有名为CSS,js等的单独文件夹。其中包含各种js和CSS。
,我有一个名为2.client的文件夹(在这里,我有AngularJs代码,例如controllers.js,services.js)
我正在使用Webpack捆绑我的客户代码。
const path = require('path');
const glob = require('glob');
const CleanWebpackPlugin = require('clean-webpack-plugin');
// const CopyWebpackPlugin = require('copy-webpack-plugin');
const outputDirectory = 'dist';
module.exports = {
mode: 'development',
target: 'web',
entry: {
app: glob.sync('./client/*.js'),
},
output: {
path: path.resolve(__dirname, outputDirectory),
filename: '[name].bundle.js',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
query: {
presets: ['env', 'stage-0'],
},
},
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.(png|woff|woff2|eot|ttf|svg|jpg)$/,
loader: 'url-loader?limit=100000',
},
],
},
devServer: {
port: 3005,
open: false,
disableHostCheck: true,
proxy: {
'/': 'http://localhost:8005',
},
},
plugins: [
new CleanWebpackPlugin([outputDirectory]),
// new CopyWebpackPlugin([
// { from: 'public/assets' },
// ]),
],
};
我只是捆绑我的客户文件夹并将其编译为app.bundle.js, 如何编制资产?
注意:我正在使用AngularJs v1。
答案 0 :(得分:0)
Webpack从每个入口点(you could have more than one entry point)开始并创建一个dependency graph。通过使用require和import语句将文件/资产导入到应用程序中后,它们会添加到依赖关系图中。
您的问题中尚不清楚的是客户文件夹与公用/资产文件夹之间的关系,以及它们是否已链接。但是,如果您的客户端文件夹中的文件都不依赖(要求,导入)您的public / assets文件夹中的任何资产,那么它们将不会出现在webpack的依赖图中,因此不会被编译和捆绑。 / p>