我是整个Node/NPM/Webpack世界的新手,所以如果这很明显就道歉.
我正在尝试构建一个与Webpack捆绑在一起的简单前端项目.我已安装节点,并配置了package.json文件.如果我在我的根目录中运行"npm start",我从控制台得到没有错误,我可以在浏览器中转到"localhost:3000"并查看我的"hello,world"输出.
我的下一个任务是包含一个样式表,其中包含对图像的引用,如下所示:
.myimg {background: url(path/to/file.jpg);}
设置这样的东西,我可以通过webpack-dev-server查看图像(通过在Web浏览器中访问localhost:3000),但如果我构建项目,图像的路径是错误的.我不知道我做错了什么,所以我把它扔给了Stackiverse,希望那里的人会知道我在做什么愚蠢的事情.
这是我的package.json文件:
{
"name": "webpack-test1",
"version": "0.0.1",
"description": "My project WTF.",
"private": true,
"scripts": {
"start": "node server.js"
},
"devDependencies": {
"css-loader": "^0.15.2",
"file-loader": "^0.8.4",
"style-loader": "^0.12.3",
"url-loader": "^0.5.6"
},
"dependencies": {
"webpack": "^1.9.6",
"webpack-dev-server": "^1.8.2"
}
}
Run Code Online (Sandbox Code Playgroud)
...这是我的webpack.config.js文件:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: [
"./src/start.js"
],
output: {
filename: "bundle.js",
path: path.join(__dirname, 'build'),
publicPath: '/build/'
},
module: {
loaders: [
{ test: /\.css$/, loader: 'style-loader!css-loader' …Run Code Online (Sandbox Code Playgroud) 我在使用Homebrew将MySQL安装到Mavericks上时遇到了麻烦.我不是任何一个命令行忍者,因为似乎没有在OS X上安装MySQL的明确指令集,所以我从这两个地方拼凑了指令:
http://madebyhoundstooth.com/blog/install-mysql-on-mountain-lion-with-homebrew/
http://benjsicam.me/blog/how-to-install-mysql-on-mac-os-x-using-homebrew-tutorial/
FWIW,我能够使用这两个网站在Mountain Lion上成功安装MySQL.
我将在下面详细说明我的安装步骤,然后在我得到的错误中找到最低点.希望有一个比我拥有更多命令行知识的人能够发现我的错误.
首先,根据我读过的网站的建议,我卸载了MySQL,以防以前的版本碰巧在那里.我是这样做的(顺便说一下,这一切预先假设我已经成功安装了Homebrew):
brew remove mysql
cd /
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql
Run Code Online (Sandbox Code Playgroud)
当我跑第四行时,我得到了这个结果:
launchctl: Couldn't stat("[my-home-directory]/Library/LaunchAgents/homebrew.mxcl.mysql.plist"): No such file or directory
Run Code Online (Sandbox Code Playgroud)
不确定这是否重要; 也许卸载过程已经解决了这个问题,或者也许该文件从未出现在那里.无论哪种方式,它似乎不是一个大问题,一切似乎正确卸载.
那么我安装,像这样:
brew install mysql
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
mysql.server start
Run Code Online (Sandbox Code Playgroud)
为了它的价值,我在运行上面的第三行后收到了"已经加载"的消息.当我跑步的时候mysql.server start,我觉得. SUCCESS! 那似乎很好,对吧?
然后我跑了这两行:
unset TMPDIR
mysql_install_db --verbose --user=`root` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Run Code Online (Sandbox Code Playgroud)
......在这一点上,我在终端中得到了稳定的信息:
[ERROR] InnoDB: Unable to lock ./ibdata1, error: 35
Run Code Online (Sandbox Code Playgroud)
我找到了这篇文章,但是它指的是一个MAMP安装,这不是,当我在我的Mac上搜索它引用的两个.pid文件时,我空了.
所以我有点难过.在前面的另一个安装尝试中,我试图在php.ini中配置default_socket,基于我上面列出的第一个URL,我mysql.sock …
(更新以下更多信息)
我们有一个基于反应的单页Web应用程序,它位于Firebase Hosting上.到目前为止,我们一直在使用基于散列的路由(例如mysite.com/#/path/to/content).我们引入了React Router,它允许我们拥有更漂亮的URL(例如mysite.com/path/to/content),但是现在当我们直接导航到深层路线时,app不会加载.详情如下:
使用React Router要求我们在Firebase托管中使用URL重写.方向很简单 - 看起来你需要做的就是:
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
Run Code Online (Sandbox Code Playgroud)
...在firebase.json文件里面.实际上,我们的完整firebase.json文件如下:
{
"firebase": "",
"public": "dist",
"rules": "rules.json",
"ignore": [
"firebase.json",
"**/.*",
"**/*.map",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
Run Code Online (Sandbox Code Playgroud)
那里没有什么太复杂的(我们正在firebase deploy -f构建脚本中,如果你想知道为什么firebase参数是空的).链接rules.json文件更简单:
{
"rules":{
".write":"true",
".read":"true"
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过转到基本URL并开始导航来加载应用程序时,一切都很好.如果我直接进入一个深度的路线(例如mysite.com/path),那也是有效的.
然而
如果我直接进入深层次的路线,或者甚至是带有斜线(例如mysite.com/path/或者mysite.com/path/to/content)的顶级路线,那么该应用程序不会加载.
具体来说,会发生什么是index.html页面加载,然后浏览器加载我们的webpack创建的引用的bundle.js文件index.html,但Firebase Hosting为该JS文件返回 …
如果我有这个ES6函数声明和调用:
function myFunction (arg1, arg2 = "bob") {
console.log("arguments", arguments);
}
myFunction(1);
Run Code Online (Sandbox Code Playgroud)
...该console.log()语句只显示一个值为"1"的参数."鲍勃"无处可见.这是预期和/或期望的行为吗?我希望arguments对象中可以使用默认值.如果没有,有没有办法以其他方式动态获取所有参数+默认值?
提前致谢!
我在教自己如何使用redux-saga,同时教自己单元测试,特别是Jest.我从redux-saga的文档中获取了一个样本saga,这里:
http://yelouafi.github.io/redux-saga/docs/advanced/NonBlockingCalls.html
......并为了我自己的目的修改它.它应该是一个简单的身份验证处理程序,它侦听登录或注销操作(因为该函数不知道用户是否登录),然后采取适当的操作.我已经在应用程序中测试了该功能,它似乎按预期运行,这很棒.这是功能:
function* authFlow() {
while (true) {
const initialAction = yield take (['LOGIN', 'LOGOUT']);
if (initialAction.type === 'LOGIN') {
const { username, password } = initialAction.payload;
const authTask = yield fork(
authorizeWithRemoteServer,
{ username: username, password: password }
);
const action = yield take(['LOGOUT', 'LOGIN_FAIL']);
if (action.type === 'LOGOUT') {
yield cancel(authTask);
yield call (unauthorizeWithRemoteServer)
}
} else {
yield call (unauthorizeWithRemoteServer)
}
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎相当简单,但我很难测试它.以下是基于Jest的测试脚本的注释版本:
it ('authFlow() should work with successful login and then successful …Run Code Online (Sandbox Code Playgroud) 我用react-jss用material-ui,现在一会儿。material-ui 3.x -> 4.x 迁移指南说 MUI 4 与 React JSS 9.x 不兼容:
https://material-ui.com/guides/migration-v3/
此外,该react-jss项目似乎已存档:
https://github.com/cssinjs/react-jss
...但 JSS 至少要到第 10 版:
https://cssinjs.org/?v=v10.0.0-alpha.16
所以我对如何在 MUI 4 中使用 React-JSS 感到完全困惑。导入是不是"react-jss": "8.6.1",in之外的东西package.json?我应该切换到情感组件还是样式组件?如此迷茫。
我正在使用application.cfc开发一个新的ColdFusion 9应用程序,并且只是为了踢,我想看看如果我直接导航到application.cfc会发生什么,如下所示:
http://www.mysite.com/application.cfc
看到一个未经修复的错误,我感到有点惊讶,其中的错误是:
"Application.cfm,Application.cfc或OnRequestEnd.cfm文件的无效请求"
在进行了一些挖掘之后,似乎没有真正的方法可以在应用程序本身内处理这个问题 - 或者至少目前为止我找不到任何方法.
这个问题有没有合适的解决方案?
提前致谢!
reactjs ×2
webpack ×2
coldfusion ×1
css-in-js ×1
ecmascript-6 ×1
firebase ×1
homebrew ×1
javascript ×1
jestjs ×1
jss ×1
macos ×1
material-ui ×1
mysql ×1
node.js ×1
php ×1
react-router ×1
redux ×1
redux-saga ×1
unit-testing ×1