Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack开发中间件、Express和Webpack生成的视图。这是怎么回事? 网页包配置中的publicPath设置为/contents/dist/assets/ Express中的视图文件使用把手_Webpack_Webpack Dev Server_Webpack Dev Middleware - Fatal编程技术网

Webpack开发中间件、Express和Webpack生成的视图。这是怎么回事? 网页包配置中的publicPath设置为/contents/dist/assets/ Express中的视图文件使用把手

Webpack开发中间件、Express和Webpack生成的视图。这是怎么回事? 网页包配置中的publicPath设置为/contents/dist/assets/ Express中的视图文件使用把手,webpack,webpack-dev-server,webpack-dev-middleware,Webpack,Webpack Dev Server,Webpack Dev Middleware,在网页包配置中,handlebar模板设置为输出正确的脚本标记/链接样式表 new HtmlWebpackPlugin({ template: 'views/index.handlebars', filename: 'views/index.handlebars', }), 因此,这也会输出到视图文件夹下的/contents/dist/assets/。因此,/contents/dist/assets/views是它的输出位置 在Express中,会设置一条路由来提供此文件。 route

在网页包配置中,
handlebar
模板设置为输出正确的脚本标记/链接样式表

new HtmlWebpackPlugin({
  template: 'views/index.handlebars',
  filename: 'views/index.handlebars',
}),
因此,这也会输出到
视图
文件夹下的
/contents/dist/assets/
。因此,
/contents/dist/assets/views
是它的输出位置

  • 在Express中,会设置一条路由来提供此文件。
    route.get('*',(req,res)=>{
    res.render('索引'…)

  • 和…
    -我已经设置了
    webpack dev middleware
    ,为资产提供服务

      const webpack = require('webpack');
      const webpackDevMiddleware = require('webpack-dev-middleware');
      const config = require('../../webpack.config');
      const compiler = webpack(config);
    
      const app = express();
    
      app.use(webpackDevMiddleware(compiler, config.devServer));
    
    
    • 我设置了一个
      新的CleanWebpackPlugin()
      插件,在每次构建之前删除
      dist
      文件夹的内容,因此它从一个新的空文件夹开始
    这实际上是如何工作的?

    Express正在寻找我告诉它要去的地方

    const viewsDir = resolve(__dirname, '../../client/views');
    app.set('views', viewsDir);
    
    当我运行webpack时,它会删除
    dist
    文件夹的内容,因此视图不在那里。但是
    webpack开发中间件
    假设通过内存服务所有这些资产(HTML、把手等)?而不是文件系统?当Express点击
    /
    路径时,没有视图可供服务


    这一切该如何结合起来并发挥作用?

    你找到解决方案了吗?没有。我把项目转到了Rails。你找到解决方案了吗?没有。我把项目转到了Rails。