我很难按照自己的意愿配置webpack.我在localhost:8080上运行我的开发服务器,并希望通过localhost:8080/static/js/bundle.js来提供我的应用程序,这就是我在下面附带的这个webpack.config.js文件.在我的文件结构中,我也附加了我想要将dist/static中的其他文件作为静态文件服务,所以localhost:8080/static/css/style.css将提供这个dist/static/css/style.例如css文件.
这可能是我在配置文件中做的错误,我不熟悉webpack,所以我不知道我是否提出问题,以便你能理解.
我的目录树是:
client
-- /dist
-- /templates
-- /admin
-- index.html
-- /static
-- /css
-- style.css
-- /js
-- /node_modules
-- /src
-- /test
-- package.json
-- webpack.config.json
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var plugins = [
new webpack.ProvidePlugin({
'fetch': 'imports?this=>global!exports?global.fetch!whatwg-fetch'
}),
new ExtractTextPlugin('app.css', {
allChunks: true
}),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
})
];
var cssLoader = {};
if(process.env.NODE_ENV == …Run Code Online (Sandbox Code Playgroud) 我对使用像Webpack及其亲戚这样的构建工具的世界很新,所以也许这个问题有点小,但请理解我.
背景:我正在开发一个客户端Web应用程序(使用reactjs + redux)并使用webpack作为我的构建工具和开发服务器加载器.现在我只需要在开发环境(日志和东西)中制作一些代码行.所以我在网上看到webpack.DefinePlugin插件的用法来设置process.env.NODE_ENV变量,代码是这样的:
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
})
]
Run Code Online (Sandbox Code Playgroud)
然后,如果NODE_ENV我的机器上没有设置varibale(此时不是),它会自动设置为开发.我对吗?
生产机器怎么样?我需要将此env变量设置为/etc/environment文件中的"生产" 吗?
那么另一个问题是webpack在我提供应用程序时如何知道NODE_ENV是什么?当我在生产机器上进行构建并在内置的bundle.js中设置时编译?($ webpack --progress -p)
另一个问题是如何在生产或开发环境中启用/禁用功能?只需执行if这样的条件语句:
if(process.env.NODE_ENV == 'development'){
console.log('this is visible in development');
}
Run Code Online (Sandbox Code Playgroud)
最后一个,如果这是webpack真正做的,它是将这段代码转换为内置的bundle.js吗?如果是这样,最终用户可以看到它吗?那有什么关系吗?
希望它不是很多,谢谢一堆!
development-environment environment-variables webpack webpack-dev-server
我的问题更笼统而不是具体。我想实现一个简单的客户端服务器应用程序,只是将消息从客户端传递到服务器,并从服务器获取确认。
我想知道在使用套接字进行操作时必须考虑什么,我是否必须实现自己的通信接口并管理同一连接上的消息传递或为每个消息创建一个新连接?
(请假设当前的消息小于BUFFER_SIZE)
代码是这样的:
server.py
server_info = (HOST, PORT)
sock = socket.socket(family=AF_INET, type=SOCK_STREAM)
sock.bind(server_info)
sock.listen(NUMBER_OF_SOCKETS)
try:
while True:
connection, client_address = sock.accept()
try:
while True:
data = connection.recv(BUFFER_SIZE)
print('message received: {data}'.format(data=data))
connection.send("ok")
finally:
connection.close()
Run Code Online (Sandbox Code Playgroud)
client.py
server_info = (HOST, PORT)
sock = socket.socket(family=AF_INET, type=SOCK_STREAM)
sock.connect(server_info)
try:
print("connection established")
while True:
print("Please enter a message you want to pass to the server")
msg = raw_input()
print('sending "{message}"'.format(message=msg))
sock.send(msg)
while True:
data = sock.recv(constants.BUFFER_SIZE)
print('received "{data}"'.format(data=data))
break
finally:
print('closing socket')
sock.close() …Run Code Online (Sandbox Code Playgroud) 假设我使用某种API并且我的文件server.php处理与API服务的连接.在我的客户端,我使用这样的AJAX调用:
$http({
url : 'server/server.php',
method : 'GET',
data : { getContent : true }
});
Run Code Online (Sandbox Code Playgroud)
在我的server.php中,我这样处理:
if(isset($_GET['getContent'])){
$content = get_content();
}
function get_content(){...}
Run Code Online (Sandbox Code Playgroud)
我只是想知道是什么阻止任何人使用相同的getContent参数发送AJAX调用并获取我的所有数据?我如何保护它并确保只有来自我的应用程序的调用才能获得相关数据?
谢谢!
我有2个向量,指向Point的指针类型以利用多态性的想法,因为我有一些类型的点类继承自Point类.
vector<Point*> previous_points;
vector<Point*> current_points;
init_points(previous_points);
init_points(current_points);
do_some_proccess(previous_points);
do_some_proccess(current_points);
cout << (previous_points == current_points) << endl; // returns 0
Run Code Online (Sandbox Code Playgroud)
即使内容相同,==运算符也会返回0,原因是(从我读到并理解)它是比较指针的向量内容当然指针不一样(init_points创建新的每个向量具有相同内容的对象).
我的问题是,我仍然可以使用比较运算符并将其与我的向量中的指针内容进行比较而不是指针本身吗?或者我必须实现我自己的is_content_equals函数来做到这一点?
编辑:我在Point类中实现了equals ==运算符,因此它正在比较point的内容.
谢谢
非常简单的问题,当我在渲染时通过数组循环与.map函数反应,说:
render() {
let board = this.props.board;
return (
<div>
{
board.map((piece,index) => {
return (
<Piece data={piece}/>
);
})
}
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试每5件添加一个断行,所以
在我尝试连接或者做这样的事情之前(index % 5 == 0)添加:<br /><Piece />+
board.map((piece,index) => {
return (
(index % 5 == 0) ? <br /> : ''
<Piece data={piece}/>
);
})
Run Code Online (Sandbox Code Playgroud)
我得到了[Object object]'s 矩阵的输出
我想用 div 包装一个 ReactJS 组件,但我只想每 5 个项目包装一次 elemnt。我已经设法(几乎没有帮助)每 5 个项目添加换行符。
这是代码:
var Item = React.createClass({
render: function() {
return <span> {this.props.num}</span>;
}
});
var Hello = React.createClass({
render: function() {
var items = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ];
return <div>{items.map(function (i,index) {
if (index % 5 === 0) {
return [ <br />, <Item key={i} num={i} /> ];
}
return <Item …Run Code Online (Sandbox Code Playgroud)