2017-05-14 58 views
0

我建立外部的文件反应种子工程与结构是这样的:访问入口点

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

要启动的项目,我已经设置命令NPM运行开发它运行:

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文件时遇到了问题。

./public/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

主轴应放置在./public文件夹中。你不是在制作桌面应用程序,所以只是放弃./bin文件夹。 – Mentor

回答

0

我相信这是因为的NodeJS当你为了定义静态的文件夹来访问其文件中像JS CSS图片等

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

做同样的你的bin文件,你会访问过

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