我使用浏览器同步与webpack-dev-server,并在使用浏览器同步时遇到问题.. !!只有表单填充工作,点击,滚动不能在浏览器同步,并没有任何编译时错误发生,但上面的东西不工作.. !!这是我的#34; Webpack.dev.js"文件,那么这里有什么问题..?
const helpers = require('./helpers');
const buildUtils = require('./build-utils');
const webpackMerge = require('webpack-merge');
const commonConfig = require('./webpack.common.js');
const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin');
const NamedModulesPlugin = require('webpack/lib/NamedModulesPlugin');
const EvalSourceMapDevToolPlugin = require('webpack/lib/EvalSourceMapDevToolPlugin');
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
module.exports = function (options) {
const ENV = process.env.ENV = process.env.NODE_ENV = 'development';
const HOST = process.env.HOST || 'localhost';
const PORT = process.env.PORT || 3000;
const METADATA = Object.assign({}, buildUtils.DEFAULT_METADATA, {
host: HOST,
port: PORT,
ENV: ENV,
HMR: helpers.hasProcessFlag('hot'),
PUBLIC: process.env.PUBLIC_DEV || HOST + ':' + PORT
});
return webpackMerge(commonConfig({ env: ENV, metadata: METADATA }), {
output: {
path: helpers.root('dist'),
filename: '[name].bundle.js',
sourceMapFilename: '[file].map',
chunkFilename: '[id].chunk.js',
library: 'ac_[name]',
libraryTarget: 'var',
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
include: [helpers.root('src', 'styles')]
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
include: [helpers.root('src', 'styles')]
},
]
},
plugins: [
new EvalSourceMapDevToolPlugin({
moduleFilenameTemplate: '[resource-path]',
sourceRoot: 'webpack:///'
}),
new NamedModulesPlugin(),
new LoaderOptionsPlugin({
debug: true,
options: { }
}),
new BrowserSyncPlugin({
// browse to http://localhost:3000/ during development,
host: 'localhost',
port: 4000,
proxy: 'http://localhost:3000'
},
{
reload: false
})
],
devServer: {
port: METADATA.port,
host: METADATA.host,
hot: METADATA.HMR,
public: METADATA.PUBLIC,
historyApiFallback: true,
watchOptions: {
ignored: /node_modules/
},
setup: function(app) {
// For example, to define custom handlers for some paths:
// app.get('/some/path', function(req, res) {
// res.json({ custom: 'response' });
// });
},
},
node: {
global: true,
crypto: 'empty',
process: true,
module: false,
clearImmediate: false,
setImmediate: false,
fs: 'empty'
}
});
};
答案 0 :(得分:0)
我最近在 Angular 11 (Ivy) 上遇到过这种情况。该解决方案通常应该与 webpack-dev-server 相关——因为这是一个相同的行为。
当加载 webpack-dev-server 应用程序加载到单独的网络服务器端点时会出现此问题。 sockjs-node 连接认为它需要使用相对于 web 根目录的绝对 url —— 这将不起作用,因为您的 web 服务器根目录指向与开发 web 服务器不同的进程/端口/主机。
我在互联网上搜索了要设置什么 CLI 或属性来覆盖它使用的基础——我还没有找到任何东西(还没有!)
解决方案:每次进行更改时构建项目并对其进行测试。一般来说,非生产构建只需要一分钟,所以还不错。