小编use*_*690的帖子

Node.js Port 3000已经在使用但实际上并没有?

我一直在使用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来检查使用该端口的进程,但没有使用该端口.我也试过重启我的笔记本电脑,但我仍然得到同样的错误.

javascript port node.js npm

70
推荐指数
17
解决办法
11万
查看次数

在ViewPager中替换片段显示空白屏幕?

我在使用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

9
推荐指数
1
解决办法
9152
查看次数

如何使用Javascript呈现HTML字符串?

我有以下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时,我该怎么做?

谢谢您的帮助!

html javascript django

8
推荐指数
3
解决办法
3万
查看次数

具有透明背景的PreferenceFragment?

我创建了一个包含两个类别和一个复选框的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

7
推荐指数
2
解决办法
4073
查看次数

使用BottomBar可以防止碎片打开?

我正在使用支持库添加类似于材料设计的底栏.底栏工作得很好,但似乎如果我显示了条形图,如果我尝试从我的自定义适配器打开任何片段,片段不会打开...或者它可能会在我的主要布局后面打开?我不知道如何解决这个问题.以下是我的代码.

我已经在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

7
推荐指数
1
解决办法
493
查看次数

如何使用Passport保护路由端点?

我正在尝试使用以下教程在我的简单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

在此先感谢您的帮助!

javascript authentication node.js express passport.js

6
推荐指数
1
解决办法
4988
查看次数

在Node js中直接将chart.js图表​​创建为PNG?

有什么方法可以使用 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)

javascript charts node.js chart.js

6
推荐指数
3
解决办法
1万
查看次数

使用AppCompatActivity时,适配器中的getSupportFragmentManager()未定义

我有一个活动(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

5
推荐指数
3
解决办法
1万
查看次数

在 Slack 消息中格式化电话号码?

有没有办法将 Slack 消息中返回的电话号码格式化为可打开电话图标的可点击链接?我有一个与 Slack 集成并向频道发送消息的聊天机器人。其中一条消息包含一个电话号码,该号码仅显示为文本,并且不会突出显示为可点击。

我知道很多应用程序都会这样做,比如电子邮件、短信等,所以我希望 Slack 能够自动检测电话号码。我专门使用 Android Slack 应用程序。

任何帮助,将不胜感激!

编辑:

想通了,必须在电话号码中添加“-”,以便 Slack 自动获取电话号码。因此,类似 604-445-5566 之类的电话号码会被识别,但 6044555566 不会被识别为电话号码!

javascript android node.js slack

4
推荐指数
1
解决办法
4422
查看次数

使用Passport JS获取当前登录的用户名?

我使用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)

javascript node.js express passport.js

3
推荐指数
1
解决办法
2万
查看次数

如何仅将应用程序片段设置为纵向模式?

我有一个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.

android fragment android-fragments android-fragmentactivity

2
推荐指数
1
解决办法
7093
查看次数

单击按钮时从活动中删除片段?

目前,我的主要活动有一个描述字段,当用户点击描述时会打开一个片段.在片段上有一个文本字段和一个按钮,当我单击按钮时,我想关闭片段并返回到我的活动.

我怎样才能做到这一点?

我已经在我的片段中添加了一个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)

android android-layout android-fragments

2
推荐指数
1
解决办法
9798
查看次数