我一直在使用node.js项目几个星期,它一直很好用.通常我使用'npm start'来运行我的应用程序,并在浏览器上的localhost,端口3000上查看它.
今天,我在使用npm start时开始出现以下错误:
Server started on port 3000
Port 3000 is already in use
Run Code Online (Sandbox Code Playgroud)
我检查了资源监视器,我没有在端口3000上运行其他进程.为什么我会收到此错误消息?
在我的app.js中,我有以下代码来设置端口......这是不正确的?它之前工作正常,所以我不确定我做错了什么.
// Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function() {
console.log('Server started on port '+app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
编辑:我已经尝试运行netstat和TCPView来检查使用该端口的进程,但没有使用该端口.我也试过重启我的笔记本电脑,但我仍然得到同样的错误.
我在使用Tabs/Swiping处理Fragments时遇到了很多麻烦.我有一个活动和两个碎片,一个有ListView.我想要的是当我使用ListView从片段1滑动到片段时,刷新ListView或者如果可能的话重新创建第二个片段....
我现在正在尝试的是像这样使用FragmentTransaction.replace():
public void onTabSelected(Tab arg0, android.app.FragmentTransaction arg1) {
// TODO Auto-generated method stub
Fragment frag = new FragmentTwo();
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
if (arg0.getPosition() == 1) {
trans.replace(R.id.pager, frag);
trans.addToBackStack(null);
trans.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
所以我认为当我滑动到选项卡2(也就是ListView的选项卡)时,它会用它创建的新选项替换它.实际发生的是当我滑动到选项卡2时,它使用ListView重新创建片段(我知道因为我在onCreateView中有一个对话框显示在屏幕上),但片段/选项卡是空白/黑色.我究竟做错了什么?创建的这个片段在哪里?
我不知道片段的代码是否相关,但请告诉我是否应该发布它,我可以这样做.这是我的PagerAdapter类.
public class TabsPagerAdapter extends FragmentPagerAdapter {
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new FragmentOne();
case 1:
return new FragmentTwo();
case 2:
return new FragmentThree();
}
return null;
}
@Override
public int getCount() …Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager android-fragmentactivity
我有以下javascript代码:
var html = '<div class="col-lg-4 col-references" idreference="'+response+'"><span class="optionsRefer"><i class="glyphicon glyphicon-remove delRefer" style="color:red; cursor:pointer;" data-toggle="modal" data-target="#modalDel"></i><i class="glyphicon glyphicon-pencil editRefer" data-toggle="modal" data-target="#modalRefer" style="cursor:pointer;"></i></span><div id="contentRefer'+response+'">'+refer_summary+'</div><span id="nameRefer'+response+'">'+refer_name+'</span></div>';
$("#references").append(html);
Run Code Online (Sandbox Code Playgroud)
当此代码运行时,refer_summary变量实际上包含其中可能包含HTML标签,如字符串<b>,<i>等等,但是,这些标签显示的页面,而不是使他们的行为上。
例如,在页面上,它<b>实际上会显示内容为粗体。
附加值后如何呈现HTML标签?
在我的Django模板中,我使用的是{% autoescape off %}{{content}}{% endautoescape %}这样,当我第一次加载页面时,内容以粗体等正确显示。但是从javascript追加html时,我该怎么做?
谢谢您的帮助!
我创建了一个包含两个类别和一个复选框的PreferenceFragment,但是,当我在我的应用程序中显示它时,背景看起来是透明的.
我可以看到主要活动,字段和PreferenceFragment已经放在主要活动的顶部......这个解决方案是什么?
在我的主要活动中,我这样做是为了在选择设置按钮时打开PreferenceFragment:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//handle presses on action bar items
switch (item.getItemId()) {
case R.id.action_settings:
getFragmentManager().beginTransaction().replace(android.R.id.content,
new SettingsFragment()).commit();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
我的PreferenceFragment代码如下所示:public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
}
Run Code Online (Sandbox Code Playgroud)
我的preferences.xml看起来像这样:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout="@layout/fragment_settings">
<PreferenceCategory
android:title="@string/server_prefs_title"
android:key="pref_key_server_settings" >
<CheckBoxPreference
android:key="pref_server_url"
android:title="@string/pref_server_url"
android:summary="@string/pref_server_url_summ"
android:defaultValue="true" />
</PreferenceCategory>
<PreferenceCategory
android:title="@string/company_prefs_title"
android:key="pref_key_company_settings" >
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
我尝试了Stack Overflow上的另一个答案并将其添加到我的Preference Fragment中,但是,虽然它阻止了从Main Activity中可见的字段,但它似乎只是一个掩码,因为片段字段也受到颜色的影响我设置: …
android preferenceactivity android-preferences android-fragments android-activity
我正在使用支持库添加类似于材料设计的底栏.底栏工作得很好,但似乎如果我显示了条形图,如果我尝试从我的自定义适配器打开任何片段,片段不会打开...或者它可能会在我的主要布局后面打开?我不知道如何解决这个问题.以下是我的代码.
我已经在SO和网络上阅读了更多帖子,我认为这与片段正确加载有关,但在底栏下方或旁边......这就是为什么它不可见?为什么会这样?是因为底栏有LinearLayout吗?我把它定义为一个菜单,所以我不确定我是否可以控制它是一个LinearLayout ....
设置底栏,从我的活动的onCreate调用此方法:
public void setupBottomToolbar(Bundle savedInstanceState) {
mBottomBar = BottomBar.attach(MainActivity.this, savedInstanceState);
mBottomBar.setItems(R.menu.bottombar_menu);
mBottomBar.setOnMenuTabClickListener(new OnMenuTabClickListener() {
@Override
public void onMenuTabSelected(@IdRes int menuItemId) {
if (menuItemId == R.id.toolbar_jobs) {
} else if (menuItemId == R.id.toolbar_messages) {
} else if (menuItemId == R.id.toolbar_recentJobs) {
} else if (menuItemId == R.id.toolbar_employerPools) {
}
}
@Override
public void onMenuTabReSelected(@IdRes int menuItemId) {
if (menuItemId == R.id.toolbar_jobs) {
// The user reselected item number one, scroll your content to top.
} else if (menuItemId …Run Code Online (Sandbox Code Playgroud) java android android-layout android-fragments android-support-library
我正在尝试使用以下教程在我的简单Node.js应用程序中构建用户身份验证:http://code.tutsplus.com/tutorials/authenticating-nodejs-applications-with-passport--cms-21619
它在保护应用程序主页方面非常有用,因此只能在登录后访问它,但我很难将我的REST端点限制为仅登录用户.在使用邮递员时,我仍然可以在没有任何身份验证的情况下调用端点.
在我的路线中,我有以下内容:
var express = require('express');
var router = express.Router();
// if the user is authenticated
var isAuthenticated = function (req, res, next) {
if (req.isAuthenticated())
return next();
res.json("not authenticated");
}
/*
* GET carlist.
*/
router.get('/carlist', isAuthenticated, function(req, res) {
var db = req.db;
var collection = db.get('carlist');
collection.find({},{},function(e,docs){
res.json(docs);
});
});
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,即使我实际输入正确的凭据我总是返回"未经过身份验证".我在这里错过了什么?
完整代码:https://gist.github.com/tudorific/d99bc51cfbd3d9d732a3bb1b93ed7214
在此先感谢您的帮助!
有什么方法可以使用 Chart.js 将条形图直接创建为 PNG 文件?我不想在我的网页上显示图表,我想将它作为图像直接发送到 Facebook Messenger。
我使用以下代码在我的网页上创建了一个条形图:
var ctx = document.getElementById("myChart").msGetInputContext("2d");
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)', …Run Code Online (Sandbox Code Playgroud) 我有一个活动(MainActivity),它扩展了AppCompatActivity,因为我在我的应用程序中使用了一些材料设计元素.
然后我有一个带有几个字段和一个按钮的数组适配器.此适配器具有单独的视图,并注入到我的MainActivity布局中.
当我单击适配器视图上的按钮时,我想打开一个显示一堆文本的新片段,但是,我似乎无法做到这一点,我认为这是因为我没有在MainActivity中扩展FragmentActivity?我在另一篇文章中读到我应该能够扩展AppCompatActivity并且仍然能够引用片段管理器...这是我打开片段的代码:
在我的自定义数组适配器中,按钮的onClick():
holder.desc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
JobDescFragment fragment= new JobDescFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragment);
transaction.addToBackStack(null);
transaction.commit();
}
});
Run Code Online (Sandbox Code Playgroud)
我得到的错误是它无法解析getSupportFragmentManager().我究竟做错了什么?
我在我的适配器中导入android.support.v4.app.Fragment和.FragmentManager.
在此先感谢您的帮助!
<merge
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<com.lorentzos.flingswipe.SwipeFlingAdapterView
android:id="@+id/frame"
android:background="@color/laborswipe_lightgray"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity"
android:layout_gravity="top" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</merge>
Run Code Online (Sandbox Code Playgroud) android android-arrayadapter android-layout android-fragments android-fragmentactivity
有没有办法将 Slack 消息中返回的电话号码格式化为可打开电话图标的可点击链接?我有一个与 Slack 集成并向频道发送消息的聊天机器人。其中一条消息包含一个电话号码,该号码仅显示为文本,并且不会突出显示为可点击。
我知道很多应用程序都会这样做,比如电子邮件、短信等,所以我希望 Slack 能够自动检测电话号码。我专门使用 Android Slack 应用程序。
任何帮助,将不胜感激!
想通了,必须在电话号码中添加“-”,以便 Slack 自动获取电话号码。因此,类似 604-445-5566 之类的电话号码会被识别,但 6044555566 不会被识别为电话号码!
我使用Node,Express和Passport在线教程后创建了一个简单的用户登录应用程序.登录工作正常,但我想获取当前登录用户的用户名,我似乎无法使其正常工作.
我的app.js中有以下内容:
/// Configuring Passport
var passport = require('passport');
var expressSession = require('express-session');
app.use(expressSession({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
Run Code Online (Sandbox Code Playgroud)
从我在类似帖子中看到的内容,我需要公开用户名,以便我可以在其他文件中使用它.我试着在我的app.js中这样做:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
Run Code Online (Sandbox Code Playgroud)
Home是我想使用用户名的路线,我正在尝试使用如下警告来访问用户名:
alert(req.user.username);
Run Code Online (Sandbox Code Playgroud)
这不起作用,req对象未定义......我不确定我缺少什么?
管理得到这个工作.在我的app.js中,我有:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
Run Code Online (Sandbox Code Playgroud)
然后在我的/ home路线中,我可以通过以下方式访问用户名:
req.user.username
Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序,它有一个主要活动和3个碎片是标签.我希望应用程序始终保持纵向模式,但我似乎无法使其正常工作.这是我尝试过的,根据另一个堆栈溢出帖子,但我不确定我做错了什么....如果使用片段需要不同吗?
<activity
android:name="com.tutorial.test.activities.act1"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
谢谢!!
编辑:ViewPager位于FragmentActivity上,我正在为其设置screenOrientation.
目前,我的主要活动有一个描述字段,当用户点击描述时会打开一个片段.在片段上有一个文本字段和一个按钮,当我单击按钮时,我想关闭片段并返回到我的活动.
我怎样才能做到这一点?
我已经在我的片段中添加了一个onClickListener来捕获按钮上的单击.打印Toast消息,但不删除/关闭片段.
descDismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "Dismissed", Toast.LENGTH_LONG).show();
getActivity().getFragmentManager().popBackStackImmediate();
}
});
Run Code Online (Sandbox Code Playgroud)
我在片段的onCreateView中有onClickListener.它是否正确?
提前致谢!
我正在添加我的片段:
((MainActivity)context).getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, frag).commit();
Run Code Online (Sandbox Code Playgroud)