访问入口点之外的文件

时间:2017-05-14 12:07:17

标签: javascript node.js webpack

我正在用这样的结构构建反应种子项目:

project
│   package.json
│   webpack.config.js
│   .babelrc   
│
└───bin
│      app.bundle.js   
│ 
└───node_modules
|
└───public
│      index.html     
└───src
       app.jsx

为了启动项目我有设置命令npm run dev运行:

webpack -d --watch && ./node_modules/.bin/http-server  -a localhost -p 8000 -c-1

它在localhost:8000上启动服务器,webpack正在监视更改。

http-server在我的index.html所在的./public文件夹中有一个入口点。

这似乎是一种运行服务器的安全方式,因为它只能访问公用文件夹,但是当我尝试包含我编译的app.bundle.js文件时,我遇到了问题。

./公共/ index.html中

<html>
  <head>
    <meta charset="utf-8">
    <title>Seed project</title>
  </head>
  <body>
    <div id="app" />
    <script src="../bin/app.bundle.js" type="text/javascript"></script>
  </body>
</html>

当我运行服务器时,我收到了找不到app.bundle.js文件的错误,因为服务器无法看到任何位于公共文件夹入口点的内容。

将index.html移动到根文件夹不是一个好习惯,因为这样就可以访问所有其他不安全的文件。

如何解决这个问题?

提前致谢。

PS。 Webpack从src文件夹编译文件并在./bin文件夹中创建单个文件。

1 个答案:

答案 0 :(得分:0)

我相信这是因为nodejs定义文件夹静态以便访问其文件,如js css图像等

app.use(express.static('public'));

对您的bin文件执行相同操作,您也将访问它

app.use(express.static('bin'));