Webpack-dev-server无法将打包后文件正确引入html中导致无法得到正确结果

c_avril 2017-10-06 09:44:38

webpack.config.js 的代码

module.exports = {
entry: __dirname + "/app/main.js", //已多次提及的唯一入口文件

output: {
path: __dirname + "/public", //打包后的文件存放的地方
filename: "bundle.js" //打包后输出文件的文件名
},

devtool: 'eval-source-map',

devServer: {
contentBase: __dirname + "/public", //本地服务器所加载的页面所在的目录
historyApiFallback: true, //不跳转
inline: true //实时刷新
},

module: {
rules: [
{
test: /(\.jsx|\.js)$/,
use: {
loader: "babel-loader",
options: {
presets: [
"es2015", "react"
]
}
},
exclude: /node_modules/
}
]
}
};





package.json的代码

{
"name": "simple_sample",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error:no test specified\" && exit1",
"start": "webpack-dev-server --inline"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
}



main.js的代码

import React from 'react';
import {render} from 'react-dom';
import Greeter from './Greeter';
render(<Greeter />, document.getElementById('root'));

Greeter.js的代码

import React, {Component} from 'react';
import config from './config.json';

class Greeter extends Component {
render() {
return (
<div>
{config.greetText}
</div>
);
}
}
export default Greeter

config.json的代码

{
"greetText": "Hi There and greeting from Json!!"
}



index.html的代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Webpack Sample Project</title>
</head>
<body>
<h2>Temp Webpack</h2>
<div id="root"></div>
<script type="text/javascript" src="bundle.js"></script>
</body>
</html>



结果截图





可以看出并没有显示config.json文件的字符串,但如果直接将srcipts的start改为webpack,然后执行npm start得到bundle.js文件后运行index.html,是可以得到正确结果,所以可能是webpack-dev-server的配置出问题,请大牛们救救!
...全文
144 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
授课特色:  由浅入深,情景教学、案例教学作为一个现代javascript 应用程序的静态模块打包器,webpack能将各种资源,如js,css, 图片等作为模块来处理,是当下前端工程化的一个很受欢迎的工具,webpack目前最新的版本是4.0。       Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。       Webpack已经是大部分前端项目打包工具,比如最热门前端框架之一React,用它开发的项目都是用webpack进行模块化管理和打包。1、webpack工具的安装2、服务安装与启动3、html打包3,布局图片打包4、内容图片打包5、ES6打包   webpack-热门的模块加载器兼打包工具webpack介绍webpack作用browerify和webpack的区别webpack的安装webpack编译第一个例子loader加载其他类型文件webpack.config.js用其他名字的配置文件生产环境编译开发环境编译监听文件变化生成source-mapbabel配置babelrc文件的作用webpack-dev-server端口号更改热重载、实时刷新

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧