首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webpack开发服务器不刷新bundle.js,也不看

webpack开发服务器不刷新bundle.js,也不看
EN

Stack Overflow用户
提问于 2017-04-03 08:40:50
回答 1查看 1.1K关注 0票数 0

我正在用类型记录2.0构建angular2应用程序。我的应用程序运行良好,但我遇到了webpack包和热重装的问题。

要创建更新的bundle.js并为新创建的bundle.js运行server,我必须分别执行两个命令。

webpackwebpack-dev-server

我只想用一个命令来做这件事,那就是npm-start,并通过为任何文件(html or js)的更改设置一个watch来重新加载服务器。

为此,我将脚本包含在我的package.json中,如下所示:

代码语言:javascript
复制
  "scripts": {
    "start": "webpack-dev-server --hot --inline"
  },

但它不会刷新我的bundle.js

下面是我的webpack.config.js

代码语言:javascript
复制
var path = require("path");

var APP_DIR = path.resolve(__dirname, "app");
var config = {
    entry: path.resolve(APP_DIR + "/main.ts"),
    output: {
        path: APP_DIR,
        publicPath: APP_DIR,
        filename: "bundle.js"
    },
    watch: true,
    resolve: {
        extensions: ['', '.webpack.js', ".web.js", ".ts", ".js", ".jsx"]
    },
    module: {
        loaders: [
            {
                test: /\.tsx?$/,
                loader: "ts-loader",
                exclude: "node_modules"
            }
        ]
    }
}
module.exports = config;

我还分析了这个怎样的问题并使用了前面提到的插件,但是得到了错误:throw new Error('output.path is not. Define output.path.');,这是在config中定义的。

有人能查出是怎么回事吗?而且,是否有可能在没有bundle.js的情况下刷新plugin并使用单个命令监视?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-03 18:15:13

webpack-dev-server不会将任何文件写入磁盘,而且它在没有文件存在的情况下工作,因为当路径被击中时,它将从内存中提供该文件。如果您没有首先构建它(通过运行webpack)就对其进行测试,那么它应该仍然工作,如果没有,您没有找到正确的路径并从您的文件系统中获取包。

这里是这样的,因为您已经将output.publicPath设置为app目录的绝对路径。这意味着只有当您将bundle.js作为/full/path/to/app/bundle.js请求时才会提供它。您真正想要的是在/app/bundle.js上服务的包。为此,您可以将公共路径更改为/app/

代码语言:javascript
复制
output: {
    path: APP_DIR,
    publicPath: "/app/",
    filename: "bundle.js"
},
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43180075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档